Pages

Mar 28, 2010

Online File Storage Tips for Freelancers


With the advent of the Internet and other technologies, many self-employed freelancers have the ability to work from virtually anywhere with an Internet connection. However, working solely from a laptop is not without it risks. Given their mobility, laptops are far more prone to theft than desktop PCs and debilitating viruses if you surf the web on a myriad of unsecured networks (think coffee houses and hotels). That’s why it’s important for any freelancer to select a comprehensive online file storage solution that meets their unique business needs. Here’s what you need to know to pick a solution that’s right for you:

Archiving Features - The ability to access a previous version of your data is critical; what if you accidentally write over a business-critical file or are blindsided with a damaging computer virus? Look for a service that offers point-in-time recovery features so you can roll back to the version of a file from yesterday or a week ago.

On and Offline Data Protection - When on the road, freelancers don’t always have quick and easy access to a reliable Internet connection. So opt for an online file storage service that also generates backups on your local hard drive in addition to backing up your data online. As soon as you are connected to the Internet, the two will automatically synchronize so local backups can be sent to the remote backup server. Even better, all of this is done in the background of your computer without user prompts or interfering with regular computer use.

Block-Level Data Backup - The speed of your Internet connection can become a major concern when you are forced to backup away from home so pick a solution that can minimize your overall bandwidth usage through "block-level" data duplication. This simply means that only new changes made to files since the last backup will be saved, not the entire file itself.

Minimize your Data-Loss Window - Look for a solution that helps keep your data-loss window to a minimum. If you backup just once a day, your potential data-loss window is approximately 24 hours, which for many freelancers is a lot of work that could potentially be lost. Subsequently, you may want to consider using a solution that allows backups to be made as soon as changes to a file occur.

User-Friendliness - Last but certainly not least, opt for a solution that is intuitive and easy to use; otherwise, it’s not likely you will backup if the program is cumbersome and difficult to use.

Mar 21, 2010

Computer Keeps Freezing Up


Why does my computer keep freezing up?, is a very frustrating cry from people who face this problem. Frustration or irritation rises because they could be in the middle of some important work on the computer, and suddenly the machine comes to a standstill. There is no other option left, but to restart the computer and start the work from scratch. If your computer keeps freezing up by itself, causes could be numerous. Some usual causes along with their solutions are discussed below.

Causes For Computer to Freeze Up by Itself

If your desktop computer or laptop computer keeps freezing up frequently or on any random occasion, the cause could be any of the reasons given below:

  • Some kind of virus present in the system affecting its performance
  • The computer lacks enough sources to function well
  • Issues with the computer hardware compatibility
  • System configuration is inadequate to run the program or application you are trying to run
  • When there are compatibility issues with the software you are trying to run on the computer
  • The page file might be getting stuck in the cache for a significant time
  • There is very little free memory space on the computer
Solutions to Prevent Computer From Freezing Randomly

Possible solutions you can try out if your computer keeps freezing up randomly:

Virus Check
The foremost thing you should do when your computer keeps on freezing up by itself, is to run an anti-virus application, which will help you in identifying and deleting viruses from the computer. The anti-virus software you would be running should be an updated copy and not an outdated version, as the latter won't prove effective. These updates are easily available on the manufacturer's website and can be downloaded for free. If you don't have an anti-virus software installed in your computer, use any free web-based anti-virus software available on the internet (generally not recommended).

Spyware Check
Other than computer virus, there could also be unwanted spyware or ad-ware present in the system, which could be the reason if your computer keeps freezing randomly. Hence, it is essential to run a spyware removal tool, to delete the troublesome spyware from the system. The spyware removal tool can either be downloaded for free from the net, or be bought from a local software store.

Computer Memory Check
In case the Random Access Memory (RAM) is defective, there are chances that due to this your computer keeps on freezing frequently. Run a quick memory check with the help of a relevant software from the internet. If needed, try reinstalling or replacing the RAM.

Go Through Recently Installed Items
There are chances of your computer not having the correct configuration needed to run some software or support certain hardware devices. To ensure this is not the case, uninstall and remove all recently installed software or hardware devices. Check whether you are still facing the same problem. In case your computer still keeps freezing up, it is because of a different reason. It is safe to reinstall deleted software on to the system.

Check for Excess Heating
Sometimes the fan(s) responsible for keeping the CPU cool render faulty, thereby resulting in your computer freezing randomly on its own. Dust gathers on these fans due to which their ability to keep the system cool also suffers. Try cleaning these fans or if necessary, replace them.

Check the Hard Disk
The minimum free space on the hard disk should be equal to 20% of the total available space in the C drive. In case this drive is cluttered and does not have enough free space, it could be the reason why your computer keeps freezing up for a few seconds after start up. Perform a hard disk check, by right clicking on 'My Computer' icon, and clicking - Tools → Check Disk Options → Check Now → Yes. After the computer restarts, the 'check' will run and try fixing few hard disk issues by itself. Also run the 'disk defragmenter' application, from the 'system tools' option present in the accessories menu list. This will allow you to utilize available space on the disk in the best possible manner and enhance the computer's performance. Learn how to defrag a computer.

Update Your System
At times, the computer keeps on freezing after startup, in case you are still using redundant versions of some software. Keep your operating system up-to-date by downloading and installing necessary drives from the internet. Doing this regularly will ensure optimum performance of the system and also keep a few other computer problems at bay.
There could be certain other reasons if your computer keeps freezing up frequently. In such situations, get your computer checked by an authorized repair person. The best way to prevent the problem from re-occurring, is to maintain the system. Keep updating it regularly and also keep checking for viruses now and then. Do not crowd the hard drive and keep sufficient free space by deleting unnecessary files.
By Suketu Mehta

Mar 19, 2010

Online Games, an Increasing Success


Card and skill games, children’s games and the descendants of the old board games, role-playing games and any kind of sport: in the last few years online games have flooded the market, sometimes straining the more traditional types of games.

One of the clearest evidences of this phenomenon is given by online poker, which counts an increasing number of enthusiasts all over the world, and which has changed the idea people had of this type of game: not a gamble to be played in some disreputable dive, but a pastime for all, which can be done while simply sitting on your armchair and pressing some keys of your PC. Poker is one of the strengths of the sector of online games, which in Italy counts about one million and a half players, 30 millions tournaments and 70 licensed websites.

In just one year, from 2008 to 2009, the expense of Italians in online games and sport betting has doubled, and the estimate for 2010 shows that these numbers will probably increase. It is no coincidence that, while online games and bets have increased, there has been a significant decline in the attendance at casinos: in 2009 the games in the Italian casinos have decreased by 5% with reference to 2008, meaning that the traditional methods of playing have given way to their new descendants, and that the green table has left space for the computer screen. We must also consider that poker is not the only gamble to have moved to the web: also the roulette and many other games are now available online.

Not only poker and gambles: in internet there is space for all types of games. Just think of a board game that you used to love as a child, dredge up from your past that box with worn edges containing dice, game pieces and board. It is very likely that you find the online version of the game just surfing the internet. An example? Risk, a cult game of the recent past, which has now landed on new shores, on IT shores: a big jump for a board game that was born in the fifties of an idea by French Albert Lamorisse.

Now the participants in the game do not need to meet around a table to challenge each other, they can do so online, staying at their place. Many other board games that are well-known all over the world have now an online version, for example Trivial Pursuit and Bingo, which in Italy in called "tombola". In Italy "tombola" is considered as an old game, to be played with grandparents, uncles and aunts on Christmas Eve, using beans to cover the numbers that have been brawn, but now this conception of game has definitely changed!

Poker and board games are only some examples that illustrate the phenomenon of online games, but these two examples let us clearly understand that the conception of game has changed a lot recently, becoming something virtual and computerized, which is very consistent with the time we are living in.
giochi gratis
Giochiandgiochi
By Francesca Tessarollo

Mar 17, 2010

Managing Business Processes Online


The contemporary web scenario has evolved beyond quantifiable measures and has brought along with it a revolution of online transformations that has transmuted almost every application and process into an online version. Advertising has always been at the crux of any business as without promotion of the products, return on investments would just be a figment of the entrepreneur’s imagination. E-commerce portals are a widely used application as the traditional ways of transacting have morphed. Every physical transaction that earlier required the physical presence have today changed to allow online transactions with the ease of being able to complete them on the move or from home.

Affiliate Management Systems is another domain that has gained prominence in the recent times. Online Affiliate Platforms provide an ideal incentive for users to introduce other users to portals or websites and earn rewards doing the same. This is mutually beneficial as the user gets an award or offer as an incentive and the website attracts more traffic thus increasing the business promotion opportunities. Pay Per Click advertising is an arena that involves reeling in the big bucks within a very short time frame. Such is the reach and potential of this online PPC management system that a user could earn high ROI’s within minutes of his PPC campaign going live. The user can define his advertising requirements and he pays the provider only for the number of times his link is clicked. Online PPC Management Systems find favor with an increasing number of business ventures as an easy route to earning profits and garnering response towards their products and solutions. P2P Advertising Platforms provide P2P systems for managing online advertising activities accompanied with greater control and increasing business productivity in a cost-effective manner.

Business ventures today pose potential opportunities as advertising requirements sky-rocket owing to intense rivalry to outdo competition. IT service and solutions providers have cashed in on this frenzy and developing niche expertise to cater to these dynamic needs and requirements that categorize the information technology market today.

Turtlejet is an IT service and solutions provider that specializes in providing innovative and novel advertising solutions that precisely suit the needs of the modern day elite clientele. With a technically equipped talent pool at its disposal, Turtlejet professes credible expertise in designing of Online Advertising Platform, Online PPC Management System, Online Affiliate Platforms, Affiliate Management Systems, E-Commerce Advertising Platforms, P2P Advertising Platforms. With the requisite skills to incorporate photo advertising, video advertising and pod cast advertising as the various forms of advertising, Turtlejet efficiently satisfies every dynamic requirement that comes its way.

With sufficient proof to its credibility towards designing and developing solutions, Turtlejet has developed applications that offer comprehensive features to link PPC accounts to Google, Yahoo, MSN, Ask Jeeves and other search engines and enable bid automation and ROI automation. Thus Turtlejet proves to be the ideal solution to all your online advertising needs.

Turtlejet is a social network development and online advertising solution for building ecommerce, P2P Advertising Platform with affiliate management system, web based media applications development, Online PPC Management System, etc.
By Muzaffar Sangre

Mar 16, 2010

Intalling PHP (Part Final)


Error Reporting Directives

To diagnose bugs in your code, you should enable the directive that allows error
messages to be written to the browser. This is on by default:
display_errors = On
You can also set the level of error reporting. We will cover the options available for
the error_reporting directive in more depth in Hour 22. For now, however, you
should set this to the following:
error_reporting = E_ALL & ~ E_NOTICE
This will report all errors but not notices that warn about potential problems with
your code. Notices can interfere with some PHP techniques. This setting is the
default.
Variable Directives
PHP makes certain variables available to you as a result of a GET request, a POST
request, or a cookie. You can influence this in the php.ini file.
The track_vars directive creates associative arrays containing elements generated
as a result of an HTTP request. This is allowed by default:
track_vars = On
The register_globals directive determines whether values resulting from an HTTP
request should be made available as global variables. Many scripts in this book will
require the following setting to be enabled:
register_globals = On

Help!


Help is always at hand on the Internet, particularly for problems concerning open
source software. Wait a moment before you hit the send button, however. No
matter how intractable your installation, configuration, or programming problem
might seem, chances are you are not alone. Someone will have already answered
your question.
When you hit a brick wall, your first recourse should be to the official PHP site at
, particularly the annotated manual at
.
If you still can't find your answer, don't forget that the PHP site is searchable. The
advice you are seeking may be lurking in a press release or a Frequently Asked
Questions file. Another excellent and searchable resource is the PHP Knowledge
Base at .
Still no luck? You can find links to searchable mailing list archives at
. These archives represent a huge
information resource with contributions from many of the great and the good in the
PHP community. Spend some time trying out a few keyword combinations.
If you are still convinced that your problem has not been addressed, you may well
be doing the PHP community a service by exposing it.
You can join the PHP mailing lists at .
Although these lists are often high volume, you can learn a lot from them. If you are
serious about PHP scripting, you should certainly subscribe at least to a digest list .
Once subscribed to the list that matches your concerns, you might consider posting
your problem.
When you post a question it is often a good idea to include as much information as
possible (without writing a novel). The following items often are pertinent:
Your operating system
The version of PHP you are running or installing
The configure options you chose
Any output from the configure or make commands that preceded an installation
failure
A reasonably complete example of the code that is causing you problems
Why all these cautions about posting a question to a mailing list? First, developing
research skills will stand you in good stead. A good researcher can generally solve a
problem quickly and efficiently. Asking a naive question of a technical list often
involves a wait rewarded only by a message or two referring you to the archives
where you should have begun your search for answers.
Second, remember that a mailing list is not analogous to a technical support call
center. No one is paid to answer your questions. Despite this, you have access to an
impressive resource of talent and knowledge, including that of some of the creators
of PHP itself. A good question and its answer will be archived to help other coders.
Asking a question that has been answered several times just adds more noise.
Having said this, don't be afraid to post a problem to the list. PHP developers are a
civilized and helpful breed, and by bringing a problem to the attention of the
community, you might be helping others to solve the same problem.

Summary

PHP4 is open source software. It is also open in the sense that it does not demand
that you use a particular server, operating system, or database.
In this hour, you learned where to locate PHP and other open source software that
can help you host and serve Web sites. You learned how to compile PHP as an
Apache module on Linux. If you download a PHP binary for another platform, your
distribution will contain step-by-step instructions. You learned some of the
configure options that can change the features that your binary will support. You
learned about php.ini and some of the directive it contains. Finally, you learned
about sources of support. You should now be ready to come to grips with the
language itself.

Q&A


Q You have covered an installation for Linux and Apache. Does that mean
that this book will not apply to my server and operating system?
A No, one of PHP's great strengths is that it runs on multiple platforms. If you are
having trouble installing PHP to work on your operating system or with your server,
don't forget to read the files that come with your PHP distribution. You should find
comprehensive step-by-step instructions for installation. If you are still having
problems, review the "Help!" section earlier in this hour. The online resources
mentioned there will almost certainly contain the answers you need.
Workshop
The Workshop provides quiz questions to help you solidify your understanding of the
material covered. Try to understand the quiz answers before continuing to the next
hour's lesson. Quiz answers are provided in Appendix A.

Quiz


Where can you find the PHP online manual?
From a UNIX operating system, how would you get help on configuration options
(the options that you pass to the configure script in your PHP distribution)?
What is Apache's configuration file typically called?
What line should you add to the Apache configuration file to ensure that the .php
extension is recognized?
What is PHP's configuration file called?
Activity
Install PHP on your system. If it is already in place, review your php.ini file and
check your configuration.

Intalling PHP (Part 4)


Configuring Apache

After you have compiled PHP and Apache, you should check Apache's configuration
file, httpd.conf, which you will find in a directory called conf in the Apache install
directory. Add the following lines to this file:AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
This ensures that the PHP interpreter will parse files that end with the .php
extension. Any files with the .phps extension will be output as PHP source. That is,
the source code will be converted to HTML and color-coded. This can be useful for
debugging your scripts.
If you want to offer to your users PHP pages with extensions more familiar to them,
you can choose any extension you want. You can even ensure that files with
the .html extension are treated as PHP files with the following:

AddType application/x-httpd-php .html

Note that treating files with the .html extension as PHP scripts could slow down your
site, because every page with this extension will be parsed by the PHP interpreter
before it is served to the user.
If PHP has been preinstalled and you have no access to the Apache configuration
files, you may be able to change the extensions that will determine which files will
be treated as PHP executables by including an AddType directive in a file
called .htaccess. After you have created this file, the directive will affect the
enclosing directory, as well as any subdirectories. This technique will only work if
the AllowOverride directive for the enclosing directory is set to either FileInfo or All.
Although the filename .htaccess is the default for an access control file, it may have
been changed. Check the AccessFileName directive in httpd.conf to find out. Even if
you don't have root access, you should be able to read the Apache configuration
files.
An .htaccess file can be an excellent way of customizing your server space if you do
not have access to the root account. An additional way of controlling the behavior of
PHP, even as a non-root user, is the php.ini file.
php.ini

After you have compiled or installed PHP, you can still change its behavior with a file
called php.ini. On UNIX systems, the default location for this file is /usr/local/lib;
on a Windows system, the default location is the Windows directory. A php.ini file
in the current working directory will override one in the default location, so you can
change the behavior of PHP on a per-directory basis.
You should find a sample php.ini file in your distribution directory, which contains
factory settings. Factory settings will be used if no php.ini file is used.
The default settings should be adequate for most of the examples in this book,
although you can read about some amendments you might like to make in Hour 22,
"Debugging."
Directives in the php.ini file take the form of a directive and a value separated by an
equals sign. Whitespace is ignored.
If PHP has been preinstalled on your system, you might want to check some of the
settings in php.ini. Remember, if you are not allowed to alter this document, you
can create one in your script's directory that can override the default. You can also
set an environmental variable PHPRC that designates a php.ini file.
You can change your php.ini settings at any time, though if you are running PHP as
an Apache module, you should restart the server for the changes to take effect.

short_open_tag


The short_open_tag directive determines whether you can begin a block of PHP
code with the symbols . If this has been disabled, you will see
one of the following:
short_open_tag = Off
short_open_tag = False
short_open_tag = No
To enable the directive you can use one of the following:
short_open_tag = On
short_open_tag = True
short_open_tag = Yes
You can read more about PHP open and close tags in Hour 3, "A First Script."


Mar 15, 2010

Installing PHP (Part 3)


Some configure Options

When we ran the configure script, we included some command-line arguments
that determined the features that the PHP interpreter will include. The configure
script itself gives you a list of available options. From the PHP distribution directory
type the following:
./configure --help
The list produced is long, so you may want to add it to a file for reading at leisure:
./configure --help > configoptions.txt
Although the output from this command is very descriptive, we will look at a few
useful options— especially those that might be needed to follow this book.
--enable-track-vars
This option automatically populates associative arrays with values submitted as part
of GET, POST requests or provided in a cookie. You can read more about arrays in
Hour 7, "Arrays," and about HTTP requests in Hour 13, "Beyond the Box." It is a
good idea to include this option when running configure.
--with-gd
--with-gd enables support for the GD library, which, if installed on your system,
allows you to create dynamic GIF or PNG images from your scripts. You can read
more about creating dynamic images in Hour 14, "Working with Dynamic Images."
You can optionally specify a path to your GD library's install directory:
--with-gd=/path/to/dir

--with-mysql
--with-mysql enables support for the MySQL database. If your system has MySQL
installed in a directory other than the default location, you should specify a path:
--with-mysql=/path/to/dir
As you know, PHP provides support for other databases. Table 2.1 lists some of
them and the configure options you will need to use them.

Some Database configure Options


Database configure Option Adabas D --with-adabas
FilePro --with-filepro

msql --with-msql

informix --with-informix

iODBC --with-iodbc

OpenLink
--with-openlink
ODBC

Oracle --with-oracle
PostgreSQL --with-pgsql

Solid --with-solid

Sybase --with-sybase

Sybase-CT --with-sybase-ct

Velocis --with-velocis

LDAP --with-ldap



Mar 14, 2010

Installing PHP (Part 2)


Where to Find PHP and More

You can find PHP4 at . PHP4 is open source software, which
means that you won't need your credit card handy when you download it.
The PHP WebSite is an excellent resource for PHP coders. The entire manual can be
read online at , complete with helpful annotations
from other PHP coders. You can also download the manual in several formats.

Installing PHP4 for Linux and Apache


In this section, we will look at one way of installing PHP4 with Apache on Linux. The
process is more or less the same for any UNIX operating system. You might be able
to find prebuilt versions of PHP for your system, which are simple to install.
Compiling PHP, though, gives you greater control over the features built in to your
binary.
Before you install you should make sure that you are logged into your system as the
root user. If you are not allowed access to your system's root account, you may
need to ask your system administrator to install PHP for you.
There are two ways of compiling an Apache PHP module. You can either recompile
Apache, statically linking PHP into it, or you can compile PHP as a Dynamic Shared
Object (DSO). If your version of Apache was compiled with DSO support, it will be
capable of supporting new modules without the need for recompiling the server.

This method is the easiest way to get PHP up and running, and it is the one we will
look at in this section.
In order to test that Apache supports DSOs you should launch the Apache binary
(httpd) with the -l argument.
/www/bin/httpd -l
You should see a list of modules. If you see
mod_so.c
among them, you should be able to proceed; otherwise, you may need to recompile
Apache. The Apache distribution contains full instructions for this.
If you have not already done so, you will need to download the latest distribution of
PHP4. Your distribution will be archived as a tar file and compressed with gzip, so
you will need to unpack it:
tar -xvzf php-4.0.tar.gz
After your distribution is unpacked, you should move to the PHP4 distribution
directory:
cd ../php-4.0
Within your distribution directory you will find a script called configure. This accepts
arguments that will control the features that PHP will support. For this example, we
will include some useful command line arguments, although you might want to
specify arguments of your own. We will discuss some of the configure options
available to you later in the hour.
./configure --enable-track-vars \
--with-gd \
--with-mysql \
--with-apxs=/www/bin/apxs
The path you assign to the --with-apxs argument is likely to be different on your
system. It is possible that you will find apxs in the same directory as your Apache
executable.
After the configure script has run, you can run the make program. You will need a C
compiler on your system to run this command successfully.
make

make install
These commands should end the process of PHP4 compilation and installation. You should now be able to configure and run Apache.

Mar 13, 2010

Installing PHP (Part 1)


Before getting started with the PHP language, you must first acquire, install, and
configure the PHP interpreter. PHP is available for a wide range of platforms and
works in conjunction with many servers.
In this hour, you will learn
Which platforms, servers, and databases are supported by PHP4
Where to find PHP and other useful open source software
One way of installing PHP on Linux
Some options that add features to your PHP binary
Some configuration directives
How to find help when things go wrong

Platforms, Servers, Databases, and PHP


PHP is truly cross-platform. It runs on the Windows operating system, most versions
of UNIX including Linux, and even the Macintosh. Support is provided for a range of
Web servers including Apache (itself open source and cross-platform), Microsoft
Internet Information Server, WebSite Pro, the iPlanet Web Server, and Microsoft's
Personal Web Server. The latter is useful if you want to test your scripts offline on a
Windows machine, although Apache can also be run on Windows.
You can also compile PHP as a standalone application. You can then call it from the
command line. We will concentrate on building Web applications, but
do not underestimate the power of PHP4 as a general scripting tool comparable to
Perl.
PHP is designed to integrate easily with databases. This feature is one of the factors
that make the language such a good choice for building sophisticated Web
applications. Many databases are directly supported, including Adabas D, InterBase,
we will be using a combination of Linux, Apache, and MySQL.
All these are free to download and use, and can be installed relatively easily on a PC.
You can find out more about getting Linux for your computer at
. If you want to run Linux
on a Power PC, you can find information about LinuxPPC at
.
MySQL, the database we will use in this book, can be downloaded from
. There are versions for many operating systems
including UNIX, Windows, and OS/2.
On the other hand, you can easily stick with Windows, NT, or MacOS. PHP is, after
all, a cross-platform scripting language.
Where to Find PHP and More
You can find PHP4 at . PHP4 is open source software, which
means that you won't need your credit card handy when you download it.
The PHP WebSite is an excellent resource for PHP coders. The entire manual can be
read online at , complete with helpful annotations
from other PHP coders. You can also download the manual in several formats.

Solid, dBASE, mSQL, Sybase, Empress, MySQL, Velocis, FilePro, Oracle, UNIX dbm,
Informix, and PostgreSQL. PHP also supports ODBC.

we will be using a combination of Linux, Apache, and MySQL.
All these are free to download and use, and can be installed relatively easily on a PC.
You can find out more about getting Linux for your computer at
. If you want to run Linux
on a Power PC, you can find information about LinuxPPC at
.
MySQL, the database we will use in this book, can be downloaded from
. There are versions for many operating systems
including UNIX, Windows, and OS/2.
On the other hand, you can easily stick with Windows, NT, or MacOS. PHP is, after all, a cross-platform scripting language.

Mar 12, 2010

Go for Windows 7 Installation and Enjoy Next Level of Computing


Windows 7 is the latest operating system released by Microsoft. This operating system is designed in such a way that it can sleep and resume quicker, require less memory, and can detect USB devices faster. With its remote media streaming, you can enjoy music and video saved in your home PC, even when you are not at home. You can easily share and create movies, manage open windows, connect to networks, etc. on your computer by installing Windows 7.

Features
Windows 7 consists of many new and fascinating features. With its Home Group feature, you can share your files and printers in your home network. You can access your favorite pictures, songs, websites, and documents in an instant with its jump lists. Now, you can easily compare and re size windows on your desktop with its snap feature.

You just have to download Windows Live Essentials, and you will get seven different programs, including Mail, Movie Maker, Photo Gallery, and more. Windows 7 taskbar offers you the facility to view thumbnail previews, easier-to-see icons, etc. With Windows 7, you can decorate your desktop with fun new themes, slide shows, or handy gadgets.

Usability
If you want to install Windows on your system, then you should download and run the free Windows 7 Upgrade Advisor. This program will find out possible compatibility issues with your computer's hardware, devices, or programs that can affect installing Windows 7. Along with that, it will provide you recommendations on what to do before you upgrade to with Windows 7.

You can perform a custom installation of Windows 7 on your Windows Vista based PC, with the following steps:

STEP 1: Insert the Windows 7 installation disc into your computer. Setup would start automatically, if it does not start automatically, click on "Start" and then on "Computer". Open the Windows 7 installation disc on your DVD drive, and then double-click on setup.exe.

STEP 2: Click on Install now on the "Install Windows page".

STEP 3: On the "Get important updates for installation page", it is recommended to receive the latest updates.

STEP 4: On the "Please read the license terms page," click on "I accept the license terms", and then click Next.

STEP 5: Click on Custom, and then select "Which type of installation do you want" page.

STEP 6: Select the partition in which Windows Vista is installed, and then click on Next.

STEP 7: In the Windows.old dialog box, click on "OK".

STEP 8: Follow the instructions to complete installation of Windows 7, which include naming your computer and setting up an initial user account.

Always install Windows 7 using genuine CD. You can also take assistance from a technical organization if you are facing problems in Windows 7 installation.

Limitations
You may face problem while sharing files between Windows 7 and Windows XP systems. You can have sound problems, activation problems, etc. But before installation of Windows 7, you should move your files and settings to some another location.

Recommendation
You should install Windows 7 on your system, so that you can enjoy its new and enhanced features and can complete your tasks in less time.
Install Windows 7
Useful source of information to resolve all issue related to Microsoft Windows 7 Installation.
By John Mathew

Mar 10, 2010

Why Choose PHP?


There are some compelling reasons to work with PHP4. For many projects you will
find that the production process is significantly faster than you might expect if you
are used to working with other scripting languages. As an open source product,
PHP4 is well supported by a talented production team and a committed user
community. Furthermore, PHP can be run on all the major operating systems with
most servers.

Speed of Development


Because PHP allows you to separate HTML code from scripted elements, you will
notice a significant decrease in development time on many projects. In many
instances, you will be able to separate the coding stage of a project from the design
and build stages. Not only can this make life easier for you as a programmer, it also
can remove obstacles that stand in the way of effective and flexible design.

PHP Is Open Source

To many people, "open source" simply means free, which is, of course, a benefit in
itself. To quote from the official PHP site at http://www.php.net/:
This may sound a little foreign to all you folks coming from a non-UNIX
background, but PHP doesn't cost anything. You can use it for commercial and/or
non-commercial use all you want. You can give it to your friends, print it out and
hang it on your wall or eat it for lunch. Welcome to the world of Open Source
software! Smile, be happy, the world is good. For the full legalese, see the official
license.
Well-maintained open source projects offer users additional benefits, though. You
benefit from an accessible and committed community who offer a wealth of
experience in the subject. Chances are that any problem you encounter in your
coding can be answered swiftly and easily with a little research. If that fails, a
question sent to a mailing list can yield an intelligent, authoritative response.
You also can be sure that bugs will be addressed as they are found, and that new
features will be made available as the need is defined. You will not have to wait for
the next commercial release before taking advantage of improvements.
There is no vested interest in a particular server product or operating system. You
are free to make choices that suit your needs or those of your clients, secure that
your code will run whatever you decide.

Performance


Because of the powerful Zend engine, PHP4 compares well with ASP in benchmark
tests, beating it in some tests. Compiled PHP leaves ASP far behind.

Portability

PHP is designed to run on many operating systems and to cooperate with many
servers and databases. You can build for a UNIX environment and shift your work to
NT without a problem. You can test a project with Personal Web Server and install it
on a UNIX system running on PHP as an Apache module.

Mar 9, 2010

Unique Laptop Bags and Accessories as Tech Style


It's hard to imagine getting ready in the morning without picking up our cell phones, MP3 players, laptops and other tech gadgets. Many of us think of the things we carry on a daily basis as an expression of our personal style. The tricky thing is, while we can choose the color and design of our clothes and hats, most electronics look the same. Manufacturers continue to try and differentiate their products, but the truth of it is that many popular cell phones, for example, look identical. Next time you're walking down the street, make a game of picking a popular brand of cell phone and counting how many you see. The number of people carrying absolutely identical devices is amazing. There's no avoiding it. Technology has become part of fashion and if you want to stand apart from the others, you need to take an extra step.

So, how do you express your own tastes through your gadgets? The good news is, there are plenty of products out there that can help you stand out from the crowd. The first is the choice of devices themselves. Do you prefer devices that are small and streamlined or more square and traditional? Newer, slimmer devices are becoming more popular. Many laptop computer companies now offer flash hard drives instead of traditional mechanical drives in their laptops that can significantly reduce the size (and weight) of the computer. Some also offer the same model in different colors, although it may not be obvious at first. Ask a company representative if you're not sure.

The accessories that come along with your gadgets are also a part of your overall look. Take your headset for example. If you listen to your laptop or MP3 player through a set of headphones, then this might be one of the more obvious technology style choices that you make. Many people prefer small bud earphones today, but the larger over-the-ear headsets that first became popular in the 70s are now making a strong comeback. Bluetooth enabled devices remove the need for wires and provide a less cluttered look.

For those devices that you cannot change physically, there are many products out there to make them look a little different.Your cell phone might have several cases complete with different colors and designs that can be used to give your phone a little bit of personality. For laptops, stickers are available that fit over the lid and allow you to change the appearance of the laptop from behind and when closed. Many manufacturers now make headsets with different covers in different colors as well. One word of warning. Before applying something permanent like a sticker to your laptop, make sure that you will not want to change the appearance on a daily basis. For those that like to change the appearance of their gadgets with their outfit for that day, permanent stickers may not be the best solution.

You might also consider the software itself. Screensavers, desktop backgrounds and themes for your desktop can all be chosen to fit into an overall style or design. If you're looking for a more subtle effect, simply changing the colors some of the windows and buttons on your desktop can significantly change the look and feel of your computer. Sound effects are also something to consider. The ring tone on your cell phone and the sound theme for your computer can work to enhance the overall feel that you're trying to achieve.

The cases that you choose to carry your gadgets in are probably one of the more important considerations. While the gadgets themselves are important, if you're not using them, people may not see them. The laptop bags and phone cases that you choose can be seen wherever you go and are critical part of your overall look. For some great examples of laptop backpacks that can help enhance the look of your gadgets, check out the unique laptop bags over at Nokhoo.
By Michael Rockville

Mar 8, 2010

Technologies of the Web 1st


To a certain extent, project management is project management, regardless of the industry. As an
established discipline, project management has its eternal truths, systems that
work no matter what project you're managing. In theory, project management is portable from industry to
industry; however, project management is more than a theory, it's a practice. The project manager's
practice involves communication, problem solving, and decision making, all of which require a solid
technical grasp of the field. Even in the role of facilitator and motivator, the project manager needs
technical knowledge to earn the credibility and respect of team members.
This chapter introduces some of the basic technology underlying websites and website development. It is
meant as a jumping-off point. To those new to website development, this discussion will at least help you
become conversant in the technology and know the sorts of questions you should be asking. It will also
help you identify the gaps in your knowledge. It's up to you to bring yourself up to speed, whether through
outside reading, classes, seminars, or workshops. Project managers of websites often grow into the
position from a specialty within the development process and boast detailed technical knowledge within the
specialty. As for the specialized skills plied by others on the team, they may possess only superficial
familiarity. The systems analyst, for instance, may be an expert on the architecture of a database but may
have no understanding of what the designer has done to prepare image files that go into it.
CLIENT-SERVER SYSTEMS
The Internet is sometimes referred to as a network of networks, a grand and complex system of clients and
servers. In a world where computers and networks are ubiquitous in all sorts of organizations, the terms
client and server are bandied about regularly, but they are not always clearly understood. The operating
premise of a network is that computers are called on to perform specialized tasks.
The client requests and uses a specific service. The server provides the service. The World Wide Web, and
the Internet in general, at its essence is a series of platform-independent network protocols that enable
identification of remote machines, connections between those machines, and the transfer of files back and
forth.
INTERNET PROTOCOLS: HOW FILES TRAVEL THE INTERNET
The many clients and servers that constitute the Internet can cooperate because they speak the same
language. Beneath the many operating systems and software programs working the Internet is a lingua
franca, specifically a series of protocols. For instance, when you surf your way to a new site, your Web
browser is using HTTP (hypertext transfer protocol) and a URL (uniform resource locator) to identify a file to
be retrieved. TCP (transmission control protocol) and IP (Internet protocol) route the request to the proper
server.
You can think of the protocols at work in the Internet as a series of layers . Protocols such as
FTP (file transfer protocol) or HTTP work at the application layer. TCP and IP work closely together to
create logical channels to the application layer. Messages are broken into datagrams or packets routed
across networks, then reassembled.

Mar 7, 2010

How Did PHP Evolve?


The first version of PHP was created by Rasmus Lerdorf in 1994 as a set of Web
publishing macros. These were released as the Personal Home Page Tools and later
rewritten and extended to include a package called the Form Interpreter (PHP/FI).
From a user's perspective, PHP/FI was already an attractive proposition, and its
popularity grew steadily. It also began to attract interest from the developer
community. By 1997, a team of programmers was working on the project.
The next release— PHP3— was born out of this collaborative effort. PHP3 was an
effective rewrite of PHP, with an entirely new parser created by Zeev Suraski and
Andi Gutmans, as well as differences in syntax and new features. This release
established PHP as one of the most exciting server scripting languages available,
and the growth in usage was enormous.
PHP's support for Apache and MySQL further secured its popularity. Apache is now
the most-used Web server in the world, and PHP3 can be compiled as an Apache
module. MySQL is a powerful free SQL database, and PHP provides a comprehensive
set of functions for working with it. The combination of Apache, MySQL, and PHP is
all but unbeatable.
That isn't to say that PHP is not designed to work in other environments and with
other tools. In fact, PHP supports a bewildering array of databases and servers.
The rise in popularity of PHP has coincided with a change of approach in Web
publishing. In the mid-1990s it was normal to build sites, even relatively large sites,
with hundreds of individual hard-coded HTML pages. Increasingly, though, site
publishers are harnessing the power of databases to manage their content more
effectively and to personalize their sites according to individual user preferences.
The use of databases to store content, and of a scripting language to retrieve this
data, will become further necessary as data is sent from a single source to multiple
environments, including mobile phones and PDAs, digital television, and broadband
Internet environments.
In this context, it is not surprising that a tool of PHP's sophistication and flexibility is
becoming so popular.

At the time of this writing, PHP4 is in its final beta stage and is due for release
shortly. By the time you read this book, PHP4 will be making waves!

Mar 6, 2010

Website Marketing Ideas


Alright, so the ones who have read my other articles on website marketing tips and such, would know that it is not really difficult to market your website, no matter how competitive the website marketing world may be. Nonetheless, there are always certain steps that can help you go way ahead of your peers. Most of it may be about the right attitude, however, some of it has to do with the right website marketing techniques and website marketing plans.

Website Marketing Ideas
I shall get to the concept of having the right attitude in order to market your website in some other article. In this one, let us focus on the best possible website marketing ideas. So, here goes.

Search Engine Optimization
In today's world of complete Internet savvy-ness, not everyone prefers to remember the websites that they may need. More so, it is so much easier to let google, yahoo and bing dot the dirty work of finding out what websites we may need to visit. As such, it is also imperative for websites to rank on the search engine lists. One has to remember that it is the first two or three pages of the search engine that the user may refer to. So, what makes sense would be to search engine optimize your content on the website, in order to make the search engine favor your website. This will really help increase the traffic, and the readership of your website.

Social Bookmarking
While many websites may have tried advertising via social networking sites, the arena of social bookmarking still seems to be the (relatively) unnoticed promise land. Buzzle is a website that uses social bookmarking as a method of website marketing. It helps increase the rankings on the search engines, as well as hits via the social bookmarking sites as well. As in, these websites give little snapshots and links to the relevant pages on your website. This way, the website gets visitors and traffic. More so, one does not need to rely on search engines and search engine optimization in order to get hits and traffic. Read more on social bookmarking sites.

Social Networking
Facebook and MySpace are classic examples of social networking sites that have, practically, the entire Internet savvy world on it. As such, what is to stop your website from being known all over the world if you use these websites? Have you heard of the 6 degrees of separation theory? Well, you can put it to use with the help of these social networking sites in order to market your own website. However, using social networking sites is only of any benefit if there are regular updates. Static pages are forgotten way too soon of such websites.

Online Participation
Have you ever heard of the people who participate in online forums, simply to get people to visit their website? Well, I used to think of it as a little lame, earlier. But, now I know that it works, and that it is not lame at all. So, make sure that you indulge in some relevant research and find websites that are similar to yours, go through them and participate in their forum conversation. However, make sure that you add some value to the forum while you tell people about your website as well. This way, you will develop some goodwill with the readers. Read more on website marketing strategies.

Link and Back Link
The "you scratch my back, I scratch your's" formula works wonders in the website marketing ideas sector. Find out about websites that deal with or in something that may compliment that which you deal in. Choose the ones that are reliable and trustworthy, not only to you, but to their readers as well. Next, establish contact with them and work out a way in which you both can advertise each other, on your websites. Make sure that there is good visibility and click-ability for your advertisement. This way, not only do you advertise on a very relevant website, but you also help your readers out by providing more information through the advertisement of the other website. Very good Samaritan, don't you think? Check out these website promotion ideas.

Google Adwords
I will not tire from telling my readers that complete vitality of being a part of gadgets like google adwords and google adsense. Not only do they allow a website to make quite a hearty income from clicks and advertisements, but they also help the website, to get advertised on other relevant webpages. Another thing to keep in mind is that google adwords and google adsense are very dependable and reliable to do business with. Seems like a win win situation to me.

Well well well, these were few of the most reliable websites marketing ideas. Use them and let me know how well they worked. Another word to the wise, when it comes to marketing, patience is a virtue that really helps. So, be patient and try your best. This is where I sign off!! All the best!!

Mar 5, 2010

Enter PHP


PHP (acronym for: PHP Hypertext Preprocessor), is a server-side embedded scripting language. This
means that it works within an HTML document to confer to it the capacity of generating content on
demand. You can convert your site into a web application, not just a collection of static pages with
information that may not get updated quite so often, which may be alright for a "personal" web site
(yes, we all have made such a beast), but not for one that is going to be used for business or for
education.
You may be asking "But, why PHP? There are so many other options like ASP, Cold Fusion, Perl,
Java, Python, even good old shell/awk/sed scripts?", and the answer will be: simplicity, an almost
natural way of using databases and platform independence.
And did I mention it was open source?
Of course general scripting or programming languages like Perl, Python, etc. have also platform
independence, and are open source. They are great languages, and sometimes an overkill for what you
need, like using a concrete mixer to make scrambled eggs. PHP was designed to work on the web, and
in this ambit it excels; connecting and querying a database is a simple task that can be handled in 2 or
3 lines of code. The PHP scripting engine is well optimized for the response times needed on web
applications, it can even be part of the web server itself improving the throughput even more.
If it were only a matter of improving the speed of the scripts, then PHP will be one of many solutions.
But there is more to the PHP equation than that. There is the simplicity and robustness of the language
and the scripting engine. There is the connectivity to an ever increasing number of database servers,
the shorter development cycles and the ease (encouraged by the syntaxes and constructs) of creating
modular and reusable components.
You can perform tasks as simple as creating a feedback form that sends an e-mail to the web
maintainer, to a whole database driven document management system (like Midgard,
http://www.midgard-project.org/), to helpdesk or bug tracking systems (like Keystone,
http://www.stonekeep.com/keystone.php3), to a shopping cart application (like
FishCartSQL, http://www.fni.com/fcsql/), to what would be considered "middle-ware"
packages without the need for extra languages or frameworks, and whole libraries for quick and
flexible development (PHPLIB, http://phplib.netuse.de/).
Then there is the support from a widely distributed and cooperative community, with several source
repositories (like PHP Code Exchange, http://px.sklar.com/ or Berber's WeberDev
http://www.weberdev.com/), many sites with tutorials (PHPBuilder,
http://www.phpbuilder.com/; PHPWizard, http://www.phpwizard.net/, WebMonkey,
etc.) and thriving (high volume) mailing lists.
And did I mention that it is open source?
There’s no more waiting until the next release for a feature to be added or a bug to get fixed. Just take
the source, make your modifications and there you are, instant customization and complete control. No
more guessing at whether a particular function or feature is insecure, the code does not lie. And who
TEAM FLY PRESENTS
knows, maybe your modification gets to be so popular that others may want to use it (hey! instant
fame). And you cannot beat the total price for a development environment using the combination of
Linux, Apache, MySQL and PHP, not only cheaper than other more proprietary environments, but also
more stable and robust. As Eric Raymond said "given enough eyes, all bugs are shallow".

Mar 4, 2010

What Is PHP?


The World Wide Web has changed very fast in so many ways. Sometimes it seems like yesterday that a
little known markup language with a strange name HTML (Hyper Text Markup Language) was used by
some physicists to link scientific documents at a group of CERN servers. It was wondrous to read some
text somewhere in the world with just a simple program, and what is more information in the document
could magically transport you to another one with related information.
And this spread relatively quickly to other sciences. Text-only interfaces were the norm, and simplicity
of accessing information content the most important part of the equation. Text documents with a small
set of tags and a simple server setup was all you needed to inform your colleagues and share the
knowledge, independently of whether the organic chemist at the other end was using his trusty Mac, or
the theoretician was using her Unix box, or the impoverished graduate was using a second or third
hand PC running very flaky TCP/IP software.
Nowadays we expect more, much more than this. We expect a web site with lots of information, and a
good presentation, but we do not want to be distracted by a difficult interface. The information should
be easy to find, and it should be current. A clean and dynamic web site is a great asset for the user and
for the information provider. Long gone (fortunately) are the days of garish-looking web sites with
blinky thingies, lots of animated images that usually were hiding a shallow content depth. We want
information, we want it 5 minutes ago and we want it in the way we like it.
A modern web site is not just a web server; it also includes a way of storing data and querying (a SQL
database perhaps), a way of processing the requests from the user and creating documents with the
appropriate information. Many are the options open to the web developer, but not all of them as open
and general as others. We should not only consider the immediate task at hand of creating a site with
dynamic content, we need to be sure that we can still be providing the said content independently of
the changes in hardware or software technology.
We want to try and insure ourselves against future technology changes, dramatically reduce our license
costs, keep our hardware budget under control, and yet be portable to different web servers and
operating systems. We also want some assurance that we can do something about that killer bug we
just think we found in our web server or scripting environment, be able to understand (if we want to)
how the scripting works, and be able to modify the behavior of our web server or scripting host to meat
some particularly unusual need. Open source products will be your best assurance that your application
that works now in the "Super-Turbo Hexium IX" machine of today, will work in the "Nanotech Cube
Aleph" of tomorrow (I am exaggerating just a wee bit).

Mar 3, 2010

TCP/IP and Networking (Part Final)


Unfortunately, networks are dynamic, and things do go wrong on a regular basis. Packets are lost on bad wiring, connections are broken when people (very bad people) decide to rewire the network in their office, and messages are scrambled as they are routed through different subnets. Because of these sorts of problems, Datagrams are not guaranteed to arrive in a specific order. If an error does occur during transmission, it’s up to the Transport Layer to reliably correct the error. Depending on the network protocol in use, this correction does not necessarily mean that the data is exactly the same as it was when it was sent. This does mean that there is no ambiguity in what happens to the data. A set of rules is followed that detail the handling of the error and how to correct it. This correction may mean resending just the damaged data or restarting from the beginning; but even if this involves discarding the erroneous data and continuing, it’s still considered error correction. However, if an email is sent from your supervisor over a TCP/IP network with the message “You will never be fired” and arrives as “You will be fired,” you can be assured that the Transport Layer is not doing its job. We’ll drop our real-world analogy for this layer, as it is assumed that no one ever gets lost while driving his or her car.

The Session Layer

Most data transmitted over a network is not in the form of a single packet. Typically two or more nodes open connections between themselves and exchange multiple packets. As packets travel back and forth, they carry both the data that the end user wanted to send and extra information that is used by the protocol to help guarantee that the packets are delivered successfully. When the nodes are finished communicating, the connections are closed. It’s also possible for multiple connections to be made to a single machine (think of how long you’d have to wait to download your favorite Web pages if the computer serving them to you could serve only one page to one person at a time). The Session Layer manages the opening and closing of connections, and assures the layers above it that each connection has its chance to send and receive data. If you ever open multiple connections to multiple Web sites, you’re putting the Session Layer to use. Most of today’s computers are capable of multitasking and providing many sorts of services over the Internet. They must call upon the session layer of the network in order to serve their data to other machines in an efficient manner. You can think of the Session Layer as the dividing lines on the highway: They define starting and ending points, and allow multiple lanes of traffic to flow along concurrently.

The Presentation Layer

With so many layers already in place, it may seem difficult to imagine that we still need two more before our model is complete. The Presentation Layer provides a simple service to the network model. It prepares data for its trip across the network and readies the data for use in an end user application when the journey is complete. Syntax for communicating with a remote machine may also be defined in the Presentation Layer. The Presentation Layer serves as a translator for the data that the Application Layer wants to send. Typing a URL into an application means nothing to the network. It’s up to the Presentation Layer to translate that URL into an appropriately worded request that another machine will be able to recognize. The Presentation Layer makes data presentable to the applications that use the network and presentable to the network itself. A car has a steering wheel, brake pedal, and gas pedal. These can be connected to the components that perform the appropriate actions in a variety of different ways; however, they present themselves in a way that is recognizable no matter what kind of car you’re driving.

A growing use for the Presentation Layer is to provide secure communications over a network. Data can be encrypted in the Presentation Layer before it’s passed down to the lower layers for transmission. Similarly, data can also be compressed in this layer. Compressing the data before sending it can result in significant speed increases in transmitting and receiving. Why isn’t all data encrypted and compressed before it’s sent? Keep in mind that compressing and encrypting data is a time-consuming task, and a balance must be maintained between network speed and the rate at which the local and remote nodes can process the incoming data within the Presentation Layer.

The Application Layer

At last we arrive at the last part of the OSI model: the Application Layer. This layer provides the final interface to the network that we, the end users, use to access network services. You’ve interacted with the Application Layer of the TCP/IP protocol if you’ve used a Web browser, a mail reader, or anything else over the Internet. Netscape, Internet Explorer, Eudora, Outlook, and so on are all examples of the Application Layer. This layer is the final product that we’ve been building up to—the resulting application that hides all the inner workings of the network. Returning one last time to the car analogy, we’re now in the driver’s seat of our 1998 Volkswagen Beetle, and the open highway is in front of us.

Where Do We Go from Here?

At this point, you should have a good understanding of each level in the OSI network model. In the following sections, we’ll show how TCP/IP fits within this model, and then move on to configuring each layer to suit your network needs.


TCP/IP and Networking (Part 2)


The Data Link Layer

Once we’ve made a physical connection at the Physical Layer, we need to be able to move data over the connection. The Data Link Layer accomplishes this purpose. Imagine a unit of data, called a frame or packet, is to be transmitted over our Physical Layer. The Data Link Layer must be capable of creating the packet holding our information, identifying the destination of the remote machine, or node, that will receive the data, and providing low level error checking to identify any problems that may have occurred and acting on those problems. The Data Link Layer is also responsible for regulating the transmission of data from the Physical Layer. Depending on the type of network you’re setting up, there are certain conditions during which the machine must either wait its turn to transmit data, or wait for a certain length of time to pass before it can transmit again. An example of this behavior would be if two nodes on an Ethernet network attempted to send data at the same time. The result is a collision in which the information from the two nodes overlaps and is unintelligible. In the left side of Figure 1.2, two packets pass through the network juncture in sequence, with no collision. On the right side, however, the packets arrive at the juncture simultaneously, and a collision occurs.

When a collision occurs, the Data Link Layer must make a decision on how to handle the problem. Should it retransmit the data immediately? If it did, and the Data Link Layer on the other node made the same decision, the result would be another collision… and another… and another, and so on. Later, in Chapter 2, we look at the Data Link Layer in relation to TCP/IP. You’ll learn how this event has been well thought out, and precisely how the situation is handled. For now, just be aware that such problems can and do occur, and the Data Link Layer is responsible for keeping them to a minimum. The Data Link Layer provides the bridge between hardware and software. It must communicate directly with the Physical Layer, prepare data to be sent, and receive incoming data. Then, after verifying the correctness of the data, it must make it available to the next layer. In our car/road model, this component is analogous to a vehicle’s tires. The tires provide an interface between the motion created by the engine and the road upon which the motion will take place. Remove the tires from the car, and it goes nowhere. Take the Data Link Layer out of the network, and data will cease to flow.

On your computer system, the Data Link Layer is typically represented by the Network Adapter driver and is supplied on a floppy disk when you buy your network card. In many cases, Windows and Macintosh systems arrive with network cards and drivers installed, so the Data Link Layer is often already present, will not be something you need to worry about, and will require minimal configuration if you need to set it up yourself.

The Network Layer

With the Data Link Layer in place, we have the necessary logic to transmit information to different nodes on our network. Networks are, however, not isolated entities. A network can consist of many different nodes, using many different hardware layers and Data Link Layers.


What is a Node?

A node is any device that is connected to a network. For our purposes, it usually refers to a computer.


Because network components can vary widely, how can one network communicate with another? At the Data Link Layer, a low-level addressing scheme identifies individual nodes and is specific to the hardware underneath it. For heterogeneous networks to exist, there must be a common way of identifying nodes at a higher level. The Network Layer provides this addressing scheme. Once a common addressing method is available, we need to worry about the most efficient way to communicate between our different networks. Once again, this is the responsibility of the Network Layer. For simple networks, this is not a problem. For an arrangement such as this, there are three distinct networks, or subnets, each with a single connection to each other. The data obviously must pass through subnet B to get to subnet C, or vice versa.

If a node on subnet B wants to send data to a node on C, it has two choices: send the data through subnet A or through subnet D. Obviously, if there is a fast connection all the way between B and D, and D and C, it makes sense to send the data by way of network D. Suppose that subnet D fails after a horrible lightning strike. In that case, the node in subnet B must also know that, if necessary, it can send information through the connection to A and still have it arrive by way of the slow phone connection at subnet C. Imagine this on a scale of magnitudes larger, with hundreds of individual subnets, and you have a typical business or university setting. Expand this to the Internet, and now there are literally millions of subnets to take into account. Moving data efficiently and reliably between them is a monumental task and is referred to as routing. Similar to looking at a map to find the best route to take in your car, and taking the appropriate detours when necessary, the Network Layer provides the same services in the network model.

The Transport Layer

Our model is now to the point where we can send information, and it will be able to find its way from one node to another node sharing the same network layer; things become significantly easier at this level and throughout the remaining layers. The primary concern of the Transport Layer is that the data we receive is actually what we’re supposed to be receiving. The amount of data that can be transmitted on a network at a time is finite. The Transport Layer takes the information to be sent and breaks it into individual Datagrams that are sent and reassembled into a complete message by the Transport Layer at the receiving node. The Transport Layer may also provide a signaling service for the remote node so that the sending node is notified when its data is received successfully by the receiving node.



Mar 2, 2010

TCP/IP and Networking (Part 1)


Understanding Network Layers

Before discussing the specifics of building and using a TCP/IP network, it’s important to learn a bit of the background on what a network really is and how it works. Fortunately, a number of real-world analogies can help us gain that understanding. We know, for example, that a car moves us from place to place. A network, similarly, moves data from place to place. A car also consists of several components, which, depending on our automotive background, can be abstracted in different ways. There’s an engine, which provides power for the transportation, a passenger compartment that provides the storage for moving people and their belongings around, a transmission to control the speed, and braking system to prevent errors from occurring. A network behaves in much the same fashion and can be described much like our abstraction of a car. The trick is to come up with a network model that can be applied to any situation, whether you’re building a TCP/IP network or a network using protocols that haven’t even been created yet. There have been several attempts at providing such a model, but most have failed to cover all the aspects of defining all the components that can be considered part of a network. Luckily for us, there is one model that has been widely accepted internationally and can be used to describe both present and future network models in an abstract manner.

OSI by the ISO


What is the ISO?

The ISO, or International Standards Organization, is a group comprised of members from over 75 countries who work together to compile and maintain engineering standards from around the world. Interestingly enough, ISO is not an acronym; the ISO was named for the Greek word iso, which means “equal,” so like chemical elements, the name ISO is consistent in all languages. The ISO created the network model we’ll use for examining TCP/IP.


The International Standards Organization (ISO) recognized the need for a model that could be used when designing networking protocols. The Open Systems Interconnect (OSI, not to be confused with ISO) network model provides us with an abstract view of how a network functions, from the wiring that connects the computers to the programs we use to communicate. Layers are the key component to the OSI model. A layer in the network model is simply a functional piece of the whole network, like the braking system or engine is in our car model. Breaking the network down into layers provides us with a starting point for our definition of a network, and allows us to build up the components we need to create a network that does what we want. From a development standpoint, defining networking based on a layered model allows for the development of new technologies that take advantage of existing hardware and software by using underlying layers that are already in place. As you read about the OSI model, try to picture the relationship between each of the layers. I think you’ll find that each layer has a distinct and necessary purpose. Together, the whole is truly greater than the sum of its parts.

OSI Network Model Overview

A total of seven layers are used in the OSI model to describe a network from the ground up. These layers, in order, are the Physical, Data Link, Network, Transport, Session, Presentation, and Application layers. Each layer builds on the next and would be completely useless by itself, or if one of the preceding layers was missing. It follows that each layer cannot exist in a vacuum; it must possess some knowledge of the layers that surround it and have a method of communicating to those layers. In its specification of the OSI model, the ISO does not bind any particular network standard, such as TCP/IP, to the model. By basing the layers on their function, rather than specific existing network standards, the ISO has provided a model that is robust, open, and can be used to explore existing network specifications and design the standards of the future (see Figure 1.1).

Inside the OSI Layers

As we look at a general overview of each layer, we’ll compare it to a real world model when appropriate. You’ll see how easily the OSI model lets us view the complex creature known as a network.

The Hardware/Physical Layer

This first layer provides the foundation that the following layers will build on. Hardware refers to the computer, network cable, satellite dishes, or any other physical devices you choose to use when linking two or more computers. This concept includes the actual physical wiring and the electrical signals that travel through them. For satellite hardware, the term would include the radio waves that pass to and from the satellites. The hardware must also have the capability of determining when a signaling problem has occurred and notifying upper levels of the trouble.

These tasks may sound a bit daunting, but they happen at a level that most of us don’t need to worry about. The signaling properties are handled by the hardware we choose to link the computers; we don’t need to design our signaling methods each time we set up a network. In a car, this action is equivalent to the engine’s ability to translate fossil fuels into kinetic energy, which turns the tires. We don’t necessarily need to know all the specifics of combustion to understand how it works; we just need to know that without an engine, there will be no motion. Furthermore, we don’t need to be civil engineers to understand that without the road, our car isn’t going to be traveling very far. Likewise, it’s quite safe to say that if there isn’t a Physical Layer, you’re going to be having some serious problems getting a network up and running.