Tuesday, April 21, 2009

LCD TV - PC World


LCD TV - PC World: "LCD TV
Expert advice on buying an LCD TV.
PC World Staff (Good Gear Guide) 26/02/2009 15:50:00
Page:

*
1
* 2
* 3
* 4
* 5
* 6
* next >

* How does LCD Work?
* Does size matter?
* Is the native resolution really High Definition?
* What differentiates one LCD TV from another?
* What do you need to connect?
* Watching TV
* Don't wait forever!

We use LCD technology every day, from a simple alarm clock to the screen on your mobile phone. LCD television is the pinnacle of that technology; the end product of continual rigorous development and ingenious design. As each new generation rolls out of the world's LCD plants, the innovations are numerous and accompanied by a leap in quality and capability. This poses a unique problem for consumers that they have never really had to face before when buying a television. The market is flooded with choice, and with the high price of flat panel televisions it is hard to make the right decision with confidence. The purpose of this Buying Guide is to show you what to look out for so that you will take home the panel that best suits your needs, your budget and your lounge room.

How does LCD Work?"

Server Operating Systems - PC World

Server Operating Systems - PC World: "Server Operating Systems
PC World Staff (PC World) 18/10/2002 11:50:05



So you're looking at moving to a client-server model. You want to take the documents that are randomly scattered on the hard disks of the office PCs and manage them in a single directory, accessible at any time from any PC in the office. Maybe you want to get your own Internet domain name and have a Web site that you host locally, or build an Intranet for staff information and communication. Perhaps you just want to take your single DSL link and provide secure Net access for everybody in the office.

If you're running a small business and have more than two or three PCs in the office, it's time to start looking at setting up a server. One of your first considerations will be which server operating system (OS) to use.



What is a server operating system? (Back to contents)

Server OSes are designed from the ground up to provide platforms for multi-user, frequently business-critical, networked applications. As such, the focus of such operating systems tends to be security, stability and collaboration, rather than user interface.

Server OSes provide a platform for multi-user applications, and most come bundled with a batch of common server applications, such as Web servers, e-mail agents and terminal services.

Back"

Drag & Drop <DIV> in HTML Using Java script

<head>
<title>Drag 'N' Drop</title>
<script>
function $(v) { return(document.getElementById(v)); }
function agent(v) { return(Math.max(navigator.userAgent.toLowerCase().indexOf(v),0)); }
function xy(e,v) { return(v?(agent('msie')?event.clientY+document.body.scrollTop:e.pageY):(agent('msie')?event.clientX+document.body.scrollTop:e.pageX)); }

function dragOBJ(d,e) {

function drag(e) { if(!stop) { d.style.top=(tX=xy(e,1)+oY-eY+'px'); d.style.left=(tY=xy(e)+oX-eX+'px'); } }

var oX=parseInt(d.style.left),oY=parseInt(d.style.top),eX=xy(e),eY=xy(e,1),tX,tY,stop;

document.onmousemove=drag; document.onmouseup=function(){ stop=1; document.onmousemove=''; document.onmouseup=''; };

}
</script>
</head>
<body>
<div style="cursor: pointer; position: relative; top: 0; left: 0; background-color: #009ACF; height: 20px; width:120;" onmousedown="dragOBJ(this,event); return false;"> Drag 'N' Drop this </div>
</body>

Sunday, April 12, 2009

How to change Eclipse SVN Plugin Password?

How to change Eclipse SVN Plugin Password: "Subclipse does not collect or store username and password credentials when defining a repository. This is because the JavaHL and SVNKit client adapters are intelligent enough to prompt you for this information when they need to — including when your password has changed.

You can also allow the adapter to cache this information and a common question is how do you delete this cached information so that you can be prompted again? We have an open request to have an API added to JavaHL so that we could provide a UI to do this. Currently, you have to manually delete the cache. The location of the cache varies based on the client adapter used.

JavaHL caches the information in the same location as the command line client — in the Subversion runtime configuration area. On Windows this is located in %APPDATA%\Subversion\auth. On Linux and OSX it is located in ~/.subversion/auth. Just find and delete the file with the cached information.

SVNKit caches information in the Eclipse keyring. By default this is a file named .keyring that is stored in the root of the Eclipse configuration folder. Both of these values can be overriden with command line options. To clear the cache, you have to delete the file. Eclipse will create a new empty keyring when you restart."

Wednesday, April 8, 2009

Tutorial: Hello World with Ant

Tutorial: Hello World with Ant: "Tutorial: Hello World with Ant

This document provides a step by step tutorial for starting java programming with Ant. It does not contain deeper knowledge about Java or Ant. This tutorial has the goal to let you see, how to do the easiest steps in Ant.
Content

* Preparing the project
* Enhance the build file
* Enhance the build file
* Using external libraries
* Resources

Preparing the project

We want to separate the source from the generated files, so our java source files will be in src folder. All generated files should be under build, and there splitted into several subdirectories for the individual steps: classes for our compiled files and jar for our own JAR-file.

We have to create only the src directory. (Because I am working on Windows, here is the win-syntax - translate to your shell):

md src

The following simple Java class just prints a fixed message out to STDOUT, so just write this code into src\oata\HelloWorld.java.

package oata;

public class HelloWorld {
public static void main(String[] args) {
System.out.println('Hello World');
}
}

Now just try to compile and run that:

md build\classes
javac -sourcepath src -d build\classes src\oata\HelloWorld.java
java -cp build\classes oata.HelloWorld

which will result in

Hello World

Creating a jar-file is not very difficult. But creating a startable jar-file needs more steps: create a manifest-file containing the start class, creating the target directory and archiving the files.

echo Main-Class: oata.HelloWorld>myManifest
md build\jar
jar cfm build\jar\HelloWorld.jar myManifest -C build\classes .
java -jar build\jar\HelloWorld.jar

Note: Do not have blanks around the >-sign in the echo Main-Class instruction because it would falsify it!
Four steps to a running application

After finishing the java-only step we have to think about our build process. We have to compile our code, otherwise we couldn't start the program. Oh - 'start' - yes, we could provide a target for that. We should package our application. Now it's only one class - but if you want to provide a download, no one would download several hundreds files ... (think about a complex Swing GUI - so let us create a jar file. A startable jar file would be nice ... And it's a good practise to have a 'clean' target, which deletes all the generated stuff. Many failures could be solved just by a 'clean build'.

By default Ant uses build.xml as the name for a buildfile, so our .\build.xml would be:

<project>

<target name='clean'>
<delete dir='build'/>
</target>

<target name='compile'>
<mkdir dir='build/classes'/>
<javac srcdir='src' destdir='build/classes'/>
</target>

<target name='jar'>
<mkdir dir='build/jar'/>
<jar destfile='build/jar/HelloWorld.jar' basedir='build/classes'>
<manifest>
<attribute name='Main-Class' value='oata.HelloWorld'/>
</manifest>
</jar>
</target>

<target name='run'>
<java jar='build/jar/HelloWorld.jar' fork='true'/>
</target>

</project>

Now you can compile, package and run the application via

ant compile
ant jar
ant run

Or shorter with

ant compile jar run"

Technology... Innovation... Automation

Technology... Innovation... Automation: "ANT as a automation tool

When it come to build automations, ANT is one of the most powerful tool that can be used. There might be other tools too, but ANT is most widely available and usable. If you are new to ANT then visit http://ant.apache.org. If you want to explore the power of ANT then visit http://ant.apache.org/manual/index.html.
To write or use ANT first you will have to install it. To find out from where to download and how to isntall ANT please visit http://ant.apache.org/manual/install.html.

Here I will take an process as an example and we'll see how we can automate the process using ANT and make our life easier.
Consider the following process:
You have some bunch of programmers working on a project and you are using a central repository; CVS or VSS. At the end of the day when all the programmers are done with their devlopment/bug fixing task for the day a monotonous process is required to be followed. All the source code from the repository needs to be taken and sent to your team at other end (Onsite) through ftp. This process can be broken down in to following steps:
1. Get the latest source code from the repository.
2. Label the source code appropriately to indicate today's work.
3. Filter the files that need to be send.
4. Archive your source code to zip or gzip.
5. Upload the zip file to ftp.
6. And finally send a mail to all the stakeholders stating the upload path and a release note.

Now if we perform this process manually, it will take considerable time and might also cause problems due to human errors.
But if we automate this process, believe me it will not take more than 30 secs to release a project with around 500 source files. What we need to do is identify the atomic tasks to be performed and automate them.

As you can see, the steps mentioned above are atomic tasks that needs to be performed. ANT provides a huge set of core as well as optional tasks [].
I hope that you have basic knowledge about targets, tasks, taskdef etc.

We will define each step or set of steps as a target. Though the complete script can be writting in one target, I prefer it former way for obvious reasons.

The paramters specified in the code snippets are explained in the end.
Considering the above process;

1. Get the latest source code from the repository.
If you are using CVS, ANT provides core task to perform CVS operations.
This can be written in ANT as:

<cvspass cvsRoot='${cvs.root}' password='${cvs.pass}' passfile='.cvs-pass'/>
<cvs command='login' cvsRoot='${cvs.root}' passfile='.cvs-pass'/>
<cvs dest='${base.dir}' cvsRoot='${cvs.root}' command='update -A -dPC' passfile='.cvspass'/>

If you are using VSS, ANT provides optional task for the same.
<vssget serverpath='${vss.server}' vsspath='${vss.path}/${app.name}' ssdir='${vss.ssdir}' localpath='${base.dir}' login='${vss.username},${vss.pass}' recursive='true' />
The piece of code above will get the latest version of code from repository into the specified destination folder.

2. Label the source code appropriately to indicate released work.

<echo message='Tag ${vss.path}/${app.name} with ${app.name}-${timestamp}'/>
<cvs cvsRoot='${cvs.root}' command='tag ${app.name}-${timestamp}' package='${app.name}' passfile='.cvspass'/>

If you are using VSS, ANT provides optional task for the same.
<echo message='Label ${vss.path}/${app.name} with ${app.name}-${timestamp}'/>
<vsslabel serverpath='${vss.server}' vsspath='${vss.path}/${app.name}' ssdir='${vss.ssdir}' login='${vss.username},${vss.pass}' label='${app.name}-${timestamp}' />

The above two tasks can be specified in one target for modularity and hence the reaulting target will be:

<!-- CVS task Starts-->
<target name='cvs' description='get the latest source code from CVS' >
<cvspass cvsRoot='${cvs.root}' password='${cvs.pass}' passfile='.cvs-pass'/>
<cvs command='login' cvsRoot='${cvs.root}' passfile='.cvs-pass'/>
<cvs dest='${base.dir}' cvsRoot='${cvs.root}' command='update -A -dPC' passfile='.cvspass'/>
<cvs cvsRoot='${cvs.root}' command='tag ${app.name}-${timestamp}' package='${app.name}' passfile='.cvspass'/>
</target>
<!-- CVS task ends -->

<!-- VSS task starts -->
<target name='vss' description='get the latest source code from VSS' >
<vssget serverpath='${vss.server}' vsspath='${vss.path}/${app.name}' ssdir='${vss.ssdir}' localpath='${base.dir}' login='${vss.username},${vss.pass}' recursive='true' />
<echo message='Label ${vss.path}/${app.name} with ${app.name}-${timestamp}'/>
<vsslabel serverpath='${vss.server}' vsspath='${vss.path}/${app.name}' ssdir='${vss.ssdir}' login='${vss.username},${vss.pass}' label='${app.name}-${timestamp}' />
</target>
<!-- VSS task ends -->

Now moving to next steps:
3. Filter the files that need to be send.
4. Archive your source code to zip or gzip.
These two steps include filtering out those files which need to be sent and bundle those files.
The target to accomplish this task would look something like this:

<target name='package' description='Package the source code and Contextroot' >
<property name='target.filename' value='${app.name}-${timestamp}.zip'/>
<zip zipfile='${zip.dir}/${app.name}/${target.filename}' >
<fileset dir='${base.dir}'>
<include name='src/**'/>
<include name='ContextRoot/jsp/**'/>
<include name='ContextRoot/WEB-INF/**'/>
<include name='src/META_INF/ejb-jar.xml'/>
<exclude name='ContextRoot/WEB-INF/classes/**'/>
<exclude name='ContextRoot/WEB-INF/lib/**'/>
<exclude name='ContextRoot/jsp/**/*.gif'/>
<exclude name='ContextRoot/jsp/image/**'/>
<exclude name='src/META_INF/**'/>
</fileset>
</zip>
</target>

We have used here ANT task to zip a set of files. The set of files can be specified
Here you need to specify the parameters like the target path and name of the zip file, the source files to be zipped, etc.

5. Upload the zip file to ftp server.
ANT provides a task that allows you to upload files to ftp server. The ANT target for the same is:

<target name='upload' description='uploads to FTP'>
<echo message='Uploading file to ftp : ${target.filename}'/>
<ftp server='${ftp.url}' userid='${ftp.username}' password='${ftp.password}' binary='yes' remotedir='${ftp.remotedir}'>
<fileset dir='${zip.dir}/${app.name}'>
<include name='${target.filename}'/>
</fileset>
</ftp>
<echo message='Release uploaded successfully '/>
</target>

As you can see, the parameters that needs to be provided are connection details for ftp server, transfer mode, files upload path and source file.

The next and final step:
6. And finally send a mail to all the stakeholders stating the upload path and a release note.
ANT provides a optional task for sending MIME mail. But this task highly depends on what contents you require in your mail.
For this task, I have written a class that generates a release note for me which I attach to my mail. Though this highly depends on your requirement but here I have used a very important feature of ANT that is developing custom tasks.
To know how to develop a custoom task, please visit ant.apache.org/manual/develop.html
Here taskdef is used to declare a new Task to ANT and which class should be loaded to implement this task.
The below code declares a new task which is named as releasenote and then this task is to create the release note.

<taskdef name='releasenote' classname='com.note.ReleaseNoteCreator'/>
<releasenote appName='${app.name}' noteName='${note.name}' releasedFile='ftp://ftp.zensar.com/${ftp.remotedir}/${target.filename}'/>

Once the release note is created, the following task will release a mail for you according to the paramters provided.

<mail from='${mail.from}' tolist='${mail.to}' cclist='${mail.cc}' files='${note.name}' user='${mail.user}' password='${mail.pass}' ssl='no' replyto='${mail.reply}' subject='${mail.subject}' mailhost='${mail.host}' mailport='${mail.port}' messagefile='${mail.message}'/> <!--message='${mail.message}'/-->

The complete target will look something like this:

<target name='mail' description='Send release mail' depends='init'>
<echo message='Generating Release Note'/>
<property name='note.name' value='${zip.dir}/${app.name}/ReleaseNote-${timestamp}.txt'/>
<mail from='${mail.from}' tolist='${mail.to}' cclist='${mail.cc}' files='${note.name}' user='${mail.user}' password='${mail.pass}' ssl='no' replyto='${mail.reply}' subject='${mail.subject}' mailhost='${mail.host}' mailport='${mail.port}' messagefile='${mail.message}'/> <!--message='${mail.message}'/-->
</target>

As you can see each target depends on a 'init' target. This 'init' target is used to perform some chores before starting the reelase process. Here it defines a timestamp variable which is used to generate distinct filesnames. The init target will look something like this
Here the record task is used for ANT logging.

<target name='init' description='Create password file and try Login'>
<tstamp/>
<property name='timestamp' value='${DSTAMP}-${TSTAMP}'/>
<record name='${log.file}-${timestamp}.log' action='start' append='yes' loglevel='debug'/>
<echo message='Update, Tag, Package, Upload, and release latest source code from ${rep.type} for ${app.name}'/>
</target>

And finally you can either define a target which will call other targets or set the target execution sequence while executing ANT build file.

My final ANT build file for this process comes out to be:

<?xml version='1.0' encoding='ISO-8859-1'?>
<project name='RELEASE_BUILD' default='getsource' basedir='.'>

<property file='${arg-app}-build.properties'/>
<property name='rep.type' value='${arg-rep}'/>
<property name='base.dir' value='${ws.dir}/${app.name}'/>

<taskdef name='releasenote' classname='com.note.CreateReleaseNote'/>
<target name='init' description='Create password file and try Login'>
<tstamp/>
<property name='timestamp' value='${DSTAMP}-${TSTAMP}'/>
<record name='${log.file}-${timestamp}.log' action='start' append='yes' loglevel='debug'/>
<echo message='Update, Tag, Package, Upload, and release latest source code from ${rep.type} for ${app.name}'/>
</target>

<!-- CVS Starts-->
<target name='cvs' description='get the latest source code from CVS' >
<cvspass cvsRoot='${cvs.root}' password='${cvs.pass}' passfile='.cvs-pass'/>
<cvs command='login' cvsRoot='${cvs.root}' passfile='.cvs-pass'/>
<cvs dest='${base.dir}' cvsRoot='${cvs.root}' command='update -A -dPC' passfile='.cvspass'/>
<cvs cvsRoot='${cvs.root}' command='tag ${app.name}-${timestamp}' package='${app.name}' passfile='.cvspass'/>
</target>
<!-- CVS ends -->

<!-- VSS starts -->
<target name='vss' description='get the latest source code from VSS' >
<vssget serverpath='${vss.server}' vsspath='${vss.path}/${app.name}' ssdir='${vss.ssdir}' localpath='${base.dir}' login='${vss.username},${vss.pass}' recursive='true' />
<echo message='Label ${vss.path}/${app.name} with ${app.name}-${timestamp}'/>
<vsslabel serverpath='${vss.server}' vsspath='${vss.path}/${app.name}' ssdir='${vss.ssdir}' login='${vss.username},${vss.pass}' label='${app.name}-${timestamp}' />
</target>
<!-- VSS ends -->

<!-- Common Packaging, uploading and mail starts -->
<taskdef name='releasenote' classname='com.note.CreateReleaseNote'/>

<target name='package' description='Package the source code and Contextroot' >
<property name='target.filename' value='${app.name}-${timestamp}.zip'/>
<zip zipfile='${zip.dir}/${app.name}/${target.filename}' >
<fileset dir='${base.dir}'>
<include name='src/**'/>
<include name='ContextRoot/jsp/**'/>
<include name='ContextRoot/WEB-INF/**'/>
<include name='src/META_INF/ejb-jar.xml'/>
<exclude name='ContextRoot/WEB-INF/classes/**'/>
<exclude name='ContextRoot/WEB-INF/lib/**'/>
<exclude name='ContextRoot/jsp/**/*.gif'/>
<exclude name='ContextRoot/jsp/image/**'/>
<exclude name='src/META_INF/**'/>
</fileset>
</zip>
</target>

<target name='upload' description='uploads to FTP'>
<echo message='Uploading file to ftp : ${target.filename}'/>
<ftp server='${ftp.url}' userid='${ftp.username}' password='${ftp.password}' binary='yes' remotedir='${ftp.remotedir}'>
<fileset dir='${zip.dir}/${app.name}'>
<include name='${target.filename}'/>
</fileset>
</ftp>
<echo message=' Release uploaded successfully '/>
</target>

<target name='mail' description='Send release mail' depends='init'>
<echo message='Generating Release Note'/>
<property name='note.name' value='${zip.dir}/${app.name}/ReleaseNote-${timestamp}.txt'/>
<releasenote appName='${app.name}' noteName='${note.name}' releasedFile='ftp://ftp.zensar.com/${ftp.remotedir}/${target.filename}'/>
<mail from='${mail.from}' tolist='${mail.to}' cclist='${mail.cc}' files='${note.name}' user='${mail.user}' password='${mail.pass}' ssl='no' replyto='${mail.reply}' subject='${mail.subject}' mailhost='${mail.host}' mailport='${mail.port}' messagefile='${mail.message}'/> <!--message='${mail.message}'/-->
</target>

<!-- Common Packaging, uploading and mail ends -->
<target name='getsource' description='Update, Tag, Package, Upload, and release latest source code from repository' depends='init'>
<antcall target='${rep.type}' />
<echo message='Update Latest Source code completed'/>
<antcall target='release' />
</target>

<target name='release' description='Package, Upload, and release Mail' depends='package,upload,mail'>
<echo message='**Release of ${app.name} latest source code completed successfully**'/>
</target>

</project>

And the properties file that specifies all the paramters required is...

# Application Name as used in APWORKS.
app=MyProject
app.name=MyProject


###### CVS Path (Optional) ########
cvs.root=:pserver:husain@192.168.1.155:/app/cvs/cvsroot
#CVS Password
cvs.pass=

# The cvs module path of the application required for checkout operation.
cvs.module=DEVELOPMENT/MyProject
######## VSS Details #########
# As specified in VSS server path
vss.server=\\\\servername\\repository\\
vss.path=$/VSS/DEVELOPMENT
vss.ssdir=D:/VSS Client
vss.username=vssuser
vss.pass=vssuserpass

####### Workspace Details ##########
#Workspace location. The code from CVS is updated at ws.dir/app.name
ws.dir=D:/ide/workspace
#Target local as well as backup Directory to store zip files to be uploaded to ftp server. Used as parent dir to app.name dir.
zip.dir=D:/BackUp


######## ftp Details ########
ftp.url=ftp.ind.zensar.com
#Target ftp directory
ftp.remotedir=SOURCE/MyProject
ftp.username=user
#ftp password.
ftp.password=password

##############Mail Settings. Used to mail the release note.
mail.message=mailBody.txt
mail.host=mail.mailserver.com
mail.port=25
# list of mail ids
mail.to=target1@domain.com,cm@domain.com
mail.cc=target3@domain.com,cm2@domain.com

#Senders mail-id
mail.user=myself@domain.com
mail.from=myreplymail@domain.com

#Reply mail-id
mail.reply=myreplymail@domain.com
#Senders mail-id password.
mail.pass=mypassword
mail.subject=Source Code Release [Auto-Generated]

#Logger
log.file=D:/BackUp/buildlog


Resources:
Ant Home Page: http://ant.apache.org
Ant installation Manual: http://ant.apache.org/manual/install.html
Ant Manual: http://ant.apache.org/manual/index.html
A good article on ANT Automation: http://www.onjava.com/pub/a/onjava/2002/07/24/antauto.html"

Tuesday, April 7, 2009

Speed Up Start Menu in Windows XP

Speed Up Start Menu in Windows XP: "The Start Menu can be leisurely when it decides to appear, but you can speed things along by changing it's settings from the Registry:

1.

Start Registry Editor (Regedit.exe).
2.

Locate the following key in the registry:

HKEY_CURRENT_USER/Control Panel/Desktop/

3.

On the Edit menu, click Add Value, and then add the following registry value:

'MenuShowDelay'=0
4.

Close the registry editor.

Another easy way to speed up the display of the Start Menu Items is to turn off the menu shadow:

1.

Right click on an open area of the Desktop.
2.

Select Properties.
3.

Click on the Appearance tab.
4.

Click on the Effects button.
5.

Uncheck Show shadows under menus."

Cool Deepz!

Cool Deepz!: "Billionaire School/College Dropouts
Bill Gates

Are college dropouts more successful than people with good education? It would seem so if you consider that many billionaires are people who dumped college. However, what this hides is the fact that although millions quit studies before completing them, very few of them go on to become rich.
What the list of the super-rich dropouts signifies is that in business, a top degree is not as important as having the right aptitude, attitude, determination and vision.

Here are some dropouts who went on to become billionaires:
William Henry Gates III (1955-), along with Paul Allen, co-founded Microsoft Corporation, the world's largest software maker. Bill Gates, the wealthiest person in the world with an estimated net worth of $480 crores (Rs 211,200 crore!), is probably the best-known college dropout.

Gates attended an exclusive prep school in Seattle, went on to study at Harvard University, then dropped out to pursue software development. As students in the mid-70s, he and Paul Allen wrote the original Altair BASIC interpreter for the Altair 8800, the first commercially successful PC.
In 1975, Micro-Soft - later Microsoft Corporation - was born. Three decades on, Gates has been Number One on the Forbes 400 for over a dozen years. And here's something you probably didn't know: The Bill & Melinda Gates Foundation currently provides 90 per cent of the world budget for the attempted eradication of polio.

Larry Ellison

Lawrence Joseph Ellison (1944-) , co-founder and CEO of Oracle Corporation, founded his company in 1977 with a sum of $2,000. Once a school dropout, he is now, according to Forbes, one of the richest people in America with a net worth of around $184 crores. The figure also makes him the ninth richest in the world.

As a young man, Ellison worked for the Ampex Corporation, where one of his projects was a database for the CIA. He called it Oracle, a name he was to reuse years later for the company that made him famous.
Interestingly, the organisation' s initial release was Oracle 2. The number supposedly implied that all bugs had been eliminated from an earlier version.

Ellison is quite a colourful man, and has long dabbled in all kinds of things. Want to learn more? Try his biography, The Difference Between God and Larry Ellison.

Dhirubhai Ambani

Dhirajlal Hirachand Ambani (1932-2002) was born into the family of a schoolteacher. It was a family of modest means. When he turned 16, Dhirubhai moved to Aden, working first as a gas-station attendant, then as a clerk in an oil company.

He returned to India at 26, starting a business with a meagre capital of $375. By the time of his demise, his company - Reliance Industries Ltd - had grown to become an empire, with an estimated annual turnover of $120 crores!

Dhirubhai was, in his lifetime, conferred the Indian Entrepreneur of the 20th Century Award by the Federation of Indian Chambers of Commerce and Industry. A Times of India poll in the year 2000 also voted him one of the biggest creators of wealth in this century.

Dhirubhai's is not just the usual rags-to-riches story. He will be remembered as the one who rewrote Indian corporate history and built a truly global corporate group. He is also credited with having single-handedly breathed life into the Indian stock markets and bringing in thousands of investors to the bourses.

Steve Jobs

Steven Paul Jobs (1955-) and Apple Computer are names that have long gone together.

Born in the United States to an unknown Egyptian-Arab father, Jobs was adopted soon after birth. After graduating high school, he enrolled in Reed College, dropping out after one semester.

In 1976, 21-year-old Jobs and 26-year old Steve Wozniak founded Apple Computer Co. in the family garage. Jobs revolutionised the industry by popularising the concept of home computers.

By 1984, the Macintosh was introduced. He had an influential role in the building of the World-Wide Web, and also happens to be Chairman and CEO of Pixar Animation Studios.

Today, with the iPod, Apple is bigger than ever. Incidentally, Jobs worked for several years at an annual salary of $1. It got him a listing in the Guinness Book as `Lowest Paid Chief Executive Officer.' He was once gifted a $9 crores jet by the company though. And his net worth? More than $3 billion.

Michael Dell

Michael Saul Dell (1965- ) joined the University of Texas at Austin with the intention of becoming a physician. While studying there, he started a computer company in his dormitory, calling it PC's Limited. By the time he turned 19, it had notched up enough success to prompt Dell to dropout.

In 1987, PC's Limited changed its name to Dell Computer Corporation. By 2003, Dell, Inc. was the world's most profitable PC manufacturer.

Dell has won more than his fair share of accolades, including Man of the Year from PC Magazine and EM>CEO of the Year from Financial World . Forbes, in 2005, lists him as the 18th richest in the world with a net worth of around $1600 Crores. Not bad for just another dropout.

Subhash Chandra Goel

Here's something not many people know about Subhash Chandra Goel : The Zee chairman dropped out after standard 12.

Subhash Chandra started his own vegetable oils unit at 19. It was, in a manner of speaking, his first job. Years later, a casual visit to a friend at Doordarshan gave him the idea of starting his own broadcasting company. We all know how that story ran.

Chandra knew nothing about programming, distribution or film rights. What he did understand quite well was the Indian sensibility though. Funded by UK businessmen, Zee came into being as India's first satellite TV network.
Today, it reaches 320 lakhs homes, connecting with 20 crores people in South Asia alone. The network also covers Asians in America, the Middle East, Europe, Australia and Africa, making this dropout a very rich one."

Types of Server

Types of Server: "A Server is a computer or device on a network that manages network resources. For example, a file server is a computer and storage device dedicated to storing files Any user on the network can store files on the server. A print server is a computer that manages one or more printers and a network server is a computer that manages network traffic.

Servers are often dedicated, meaning that they perform no other tasks besides their server tasks. On multiprocessing operating systems however, a single computer can execute several programs at once. A server in this case could refer to the program that is managing resources rather than the entire computer.

What is Server Platform?
A term often used synonymously with operating system. A platform is the underlying hardware or software for a system and is thus the engine that drives the server.

Server types:

Application Servers
Sometimes referred to as a type of middleware, application servers occupy a large chunk of computing territory between database servers and the end user, and they often connect the two.

Middleware is a software that connects two otherwise separate applications For example, there are a number of middleware products that link a database system to a Web server This allows users to request data from the database using forms displayed on a Web browser and it enables the Web server to return dynamic Web pages based on the user's requests and profile.

The term middleware is used to describe separate products that serve as the glue between two applications. It is, therefore, distinct from import and export features that may be built into one of the applications. Middleware is sometimes called plumbing because it connects two sides of an application and passes data between them. Common middleware categories include:


* TP monitors
* DCE environments
* RPC systems
* Object Request Brokers (ORBs)
* Database access systems
* Message Passing


Audio/Video Servers
Audio/Video servers bring multimedia capabilities to Web sites by enabling them to broadcast streaming multimedia content. Streaming is a technique for transferring data such that it can be processed as a steady and continuous stream. Streaming technologies are becoming increasingly important with the growth of the Internet because most users do not have fast enough access to download large multimedia files quickly. With streaming, the client browser or plug-in can starts displaying the data before the entire file has been transmitted.

For streaming to work, the client side receiving the data must be able to collect the data and send it as a steady stream to the application that is processing the data and converting it to sound or pictures. This means that if the streaming client receives the data more quickly than required, it needs to save the excess data in a buffer If the data doesn't come quickly enough, however, the presentation of the data will not be smooth.

There are a number of competing streaming technologies emerging. For audio data on the Internet, the de facto standard is Progressive Network's RealAudio.

Chat Servers
Chat servers enable a large number of users to exchange information in an environment similar to Internet newsgroups that offer real-time discussion capabilities. Real time means occurring immediately. The term is used to describe a number of different computer features. For example, real-time operating systems are systems that respond to input immediately. They are used for such tasks as navigation, in which the computer must react to a steady flow of new information without interruption. Most general-purpose operating systems are not real-time because they can take a few seconds, or even minutes, to react.

Real time can also refer to events simulated by a computer at the same speed that they would occur in real life. In graphics animation, for example, a real-time program would display objects moving across the screen at the same speed that they would actually move.

Fax Servers
A fax server is an ideal solution for organizations looking to reduce incoming and outgoing telephone resources but that need to fax actual documents.

FTP Servers
One of the oldest of the Internet services, File Transfer Protocol makes it possible to move one or more files securely between computers while providing file security and organization as well as transfer control.

Groupware Servers
A GroupWare server is software designed to enable users to collaborate, regardless of location, via the Internet or a corporate Intranet and to work together in a virtual atmosphere.

IRC Servers
An option for those seeking real-time capabilities, Internet Relay Chat consists of various separate networks (or 'nets') of servers that allow users to connect to each other via an IRC network.

List Servers
List servers offer a way to better manage mailing lists, whether they are interactive discussions open to the public or one-way lists that deliver announcements, newsletters, or advertising.

Mail Servers
Almost as ubiquitous and crucial as Web servers, mail servers move and store mail over corporate networks via LANs and WANs and across the Internet.

News Servers
News servers act as a distribution and delivery source for the thousands of public news groups currently accessible over the USENET news network. USENET is a worldwide bulletin board system that can be accessed through the Internet or through many online services The USENET contains more than 14,000 forums called newsgroups that cover every imaginable interest group. It is used daily by millions of people around the world.

Proxy Servers
Proxy servers sit between a client program typically a Web browser and an external server (typically another server on the Web) to filter requests, improve performance, and share connections.

Telnet Servers
A Telnet server enables users to log on to a host computer and perform tasks as if they're working on the remote computer itself.

Web Servers
At its core, a Web server serves static content to a Web browser by loading a file from a disk and serving it across the network to a user's Web browser. The browser and server talking to each other using HTTP mediate this entire exchange."