Connection VB6.0 to MS SQL SERVER 2000

Saturday, August 22, 2009

This is a simple code to connect vb6.0 with sql server, learn more...


First, make sure that your computer have been installed vb6.0 and ms SQL SERVER. Make a new project in vb6.0, Select Menu (Project => Reference) and check the Microsoft ActiveX Data Objects library (Sample : Microsoft ActiveX Data Objects 2.5 library) then click OK button.

Second, add a module (Select menu Project => Add Module) and paste code bellow :


Public Conn As New ADODB.Connection
Public Rec As New ADODB.Recordset 'berfungsi sebagai variabel penyimpan sementara
Public SQL As String ' variabel untuk menampung kode atau query sql
Public Server,Database,UserName,Password as String

Public Sub OpenConn()
On Error GoTo Handle
Set Conn = New Connection
Set Rec = New Recordset
With Conn
.ConnectionString = "Data Source=" & Server & ";Initial Catalog=" & Database & ";User Id=" & UserName & ";Password=" & Password
.Provider = "SQLOLEDB"
.Open
End With
Rec.Open SQL, Conn
Handle:
Msgbox"Any Problems !"
End Sub

Public Sub CloseConn()
Conn.Close
Set Conn = Nothing
End Sub


Try and enjoy it....

Any problems ? comment this article.

Read More... Read more...

Building SQL Server Applications Overview

Friday, July 10, 2009

Application Programming Interfaces (APIs) are the mechanisms used by applications to access resources on the local computer or available through a network. Microsoft® SQL Server™ 2000 supports several classes of APIs that applications can use to access SQL Server resources:

* General database access APIs allow applications to work with the data in a relational database. The APIs present results to applications in one of two forms:
o Tabular result sets, which some APIs call rowsets.

o XML documents, which are the preferred way of representing data in Internet applications.
* SQL Server database services APIs allow applications to administer and configure the services included with the relational database engine, such as replication and Data Transformation Services (DTS).

* The Analysis Services API gives applications access to the OLAP and data mining facilities of Analysis Services. For more information, see Programming Analysis Services Applications.

* The Meta Data Services API gives applications access to the repository of SQL Server meta data stored in Meta Data Services. For more information, see Programming Meta Data Services Applications.

* The English Query API provides applications the ability to pass customer questions, written in English, about information in a database or OLAP cube to the English Query engine. The engine returns a Transact-SQL statement or MDX query that can be executed to answer the question. For more information, see Developing and Deploying English Query Applications.


For information about additional considerations regarding the use of the APIs supported by SQL Server 2000, see Application Development Architecture.
General Database Access APIs

Database applications generally deal with data in one of two formats:

* Tabular result sets, which are sometimes called rowsets. The application uses a database API to execute a Transact-SQL statement and process any result sets that may be returned. These APIs support result set processing: ADO, OLE DB, ODBC, Embedded SQL for C, and DB-Library.

* XML documents. The application uses an API or Universal Resource Locator (URL) to execute a Transact-SQL statement or XPath query. The application then retrieves any XML document that is returned. These access methods support XML documents: ADO, URLs, OLE DB.

While result set and XML processing is typically discussed in relation to retrieving the results of a command, result sets and XML documents can both be used as the source of data for modifications of database tables:

* An application using tabular result sets can open a cursor over a result set, and use data from the cursor to modify data in tables.

* An application using XML documents can use sp_xml_preparedocument to add a document to the database, and then use OPENXML to retrieve data from the document. The retrieved data can be used to modify data in tables.

Most of the general database APIs supported by SQL Server are of two types:

* An object database API uses an object model comprised of objects, properties, and interfaces an application uses to connect to a database, pass commands to the database, and retrieve results.

* A C database API is a set of C functions an application calls to connect to a database, pass commands to the database, and retrieve results.

In addition, SQL Server 2000 can be accessed from URLs in Internet applications. URLs are formatted strings, or stream objects, that Internet applications use to access resources available through the Internet or an enterprises intranet. SQL Server 2000 supports URLs that specify Transact-SQL statements, query templates, or XPath queries.

Any SQL commands sent to SQL Server 2000 through the database APIs or URLs must comply with the Transact-SQL language. Transact-SQL complies with the Entry Level of the SQL-92 standard, and in addition, supports powerful extensions to SQL-92.The SQL Server OLE DB provider and SQL Server ODBC driver also support the ODBC SQL specification. For more information, see Transact-SQL Overview.

These are the general database APIs supported by SQL Server 2000.

Programming ADO SQL Server Applications
(Microsoft ActiveX® Data Objects)

COM API recommended as the primary API for accessing data from general business applications, such as human resources, accounting, and marketing applications. ADO encapsulates the OLE DB API in a simplified object model that reduces application development and maintenance costs. The SQL Server OLE DB provider is the preferred provider to use in ADO applications that access SQL Server. ADO, similar to OLE DB, can access data from many sources, not just SQL databases. In SQL Server 2000, ADO supports XML document processing in addition to relational result set processing.

URL Access
Formatted strings or stream objects used by Internet applications to access resources available on the Internet or intranet. SQL Server 2000 supplies an ISAPI .dll that Internet Information Services (IIS) supports references to SQL Server 2000 from URLs.

OLE DB and SQL Server
Strategic, low-level, COM API for accessing data. OLE DB is recommended for developing tools, utilities, or low-level components that need high performance. The SQL Server OLE DB provider is a native, high performance provider that accesses the SQL Server TDS protocol directly. In SQL Server 2000, OLE DB supports XML document processing in addition to relational result set processing.

Programming ODBC SQL Server Applications
(Open Database Connectivity)

Open C API designed to access data in SQL databases. The SQL Server ODBC driver is a native, high-performance driver that directly accesses the SQL Server TDS protocol.

Programming Embedded SQL for C
Standard API defined for accessing SQL databases from C or COBOL applications.

Programming DB-Library for C
Legacy C API designed to work with SQL Server.

Warning While the DB-Library and Embedded SQL for C APIs are still supported in Microsoft SQL Server 2000, no future versions of SQL Server will include the files needed to do programming work on applications that use these APIs. Connections from existing applications written using DB-Library and Embedded SQL for C will still be supported in the next version of SQL Server, but this support will also be dropped in a future release. When writing new applications, avoid using these components. When modifying existing applications, you are strongly encouraged to remove dependencies on these technologies. Instead of DB-Library or Embedded SQL for C, you can use ADO, OLE DB, or ODBC to access data in SQL Server.

Through its support of ODBC, SQL Server 2000 also supports applications written to the Remote Data Objects (RDO) and Data Access Objects (DAO) APIs. These are object APIs that encapsulate ODBC. They are not discussed further in SQL Server Books Online; programmers using RDO and DAO should refer to ODBC and SQL Server 2000 for implementation details for the SQL Server ODBC Driver.

SQL Server Books Online topics about ADO, OLE DB, and ODBC do not cover the full functionality of those APIs. The topics cover only the issues specific to those APIs when you are using the SQL Server OLE DB provider or the SQL Server ODBC driver. They assume that you are familiar with the general concepts for the API you are using, and that you have access to the documentation for the API. You can download the documentation for ADO, OLE DB, and ODBC at Microsoft Web site.

Microsoft Distributed Transaction Coordinator (MS DTC) is a component that allows applications to define distributed transactions. Distributed transactions protect the integrity of a series of updates made against multiple servers. SQL Server 2000 database applications can initiate distributed transactions themselves by calling the MS DTC API directly, but the SQL Server database engine can also call MS DTC to implement the functionality required by distributed Transact-SQL statements executed by applications. For more information, see MS DTC Distributed Transactions
SQL Server Database Services APIs

SQL Server 2000 supports APIs that allow applications to configure and administer the DTS and replication components of SQL Server. Applications can use the same administration and configuration API, SQL-DMO, which the SQL Server tools use when managing instances of SQL Server.

DTS Programming Reference
(Data Transformation Services)

Set of COM interfaces (based on OLE DB) for defining and executing complex data transformations between OLE DB data providers.

MS DTC Distributed Transactions
Component that allows applications to define distributed transactions that protect the integrity of a series of updates made against multiple servers. Applications use the transaction commands of an API or Transact-SQL, the API or SQL Server 2000 interface with MS DTC to implement the distributed transactions.

Programming Extended Stored Procedures
C API for writing SQL Server extended stored procedures.

Getting Started with Replication Programming
Set of COM interfaces for defining and managing replication between instances of SQL Server databases. You can also replicate data from heterogeneous third-party databases to SQL Server.

Developing SQL-DMO Applications
(SQL Distributed Management Objects)

Set of COM interfaces for managing and administering SQL Server 2000.

For information about additional considerations regarding the use of the APIs discussed, see Application Development Architecture.

Through its support of ODBC, SQL Server 2000 also supports applications written to the Remote Data Objects (RDO) and Data Access Objects (DAO) APIs. These are object APIs that encapsulate ODBC. They are not discussed further in SQL Server Books Online; programmers using RDO and DAO should refer to ODBC and SQL Server 2000 for implementation details for the SQL Server ODBC Driver.

SQL Server Books Online topics about ADO, OLE DB, and ODBC do not cover the full functionality of those APIs. The topics cover only the issues specific to those APIs when you are using the SQL Server OLE DB provider or the SQL Server ODBC driver. They assume that you are familiar with the general concepts for the API you are using, and that you have access to the documentation for the API. You can download the documentation for ADO, OLE DB, and ODBC at Microsoft Web site.

By : http://msdn.microsoft.com

Read More... Read more...

Don't Panic! How to Recover Data From a Dead Hard Drive

Monday, April 27, 2009


If the components in your drive are still functioning, you can recover the data yourself. If there's mechanical damage, send it to the pros. PM's complete guide to getting your files back.


By Anthony Verducci
Published in the December 2008 issue.


If the components in your drive are still functioning, you can recover the data yourself. If there is mechanical damage, send it to the pros. (Photograph by Levi Brown)




Let’s dispense with the I-told-you-sos. If you find yourself facing a data recovery job, then you have probably forgotten the cardinal rule of computing: All hard drives eventually fail. And you didn’t back up your data, did you? We’ve been there—hey, everybody has to learn this lesson once. Now what?

Panic!

Just kidding. Actually, the first thing to do is determine if it really is a hard-drive failure you’re confronting, and not one of the countless other equipment glitches that can cause a boot failure. If you have access to another computer, remove the failed hard drive from your sick PC, and hook it up as a secondary drive to the alternate computer. The easiest way to do this is through a USB universal drive adapter—it costs about $30 and is a good device to have around for all sorts of hard-drive diagnostics.

On a Mac, the process is a bit simpler. Use a FireWire cable to hook your nonworking Mac to a working Mac, then, “target boot” the nonworking machine by holding down the T key as you power it on. With either method, it’s possible that your failed hard drive will show up on your healthy computer and reveal its files, in which case your hard drive is probably fine, but your operating system needs to be reinstalled. (Don’t forget to offload your files before you do that.)

If your files don’t show up on the secondary computer, then you are at one of those pivotal moments in life when you find out how much your hard work and treasured memories are really worth to you. Depending on how your drive is damaged, an attempt to salvage your data can cost anywhere from a hundred dollars to several thousand. What’s more, the process can take days—and there is no guarantee that the money and time you invest will produce any results whatsoever.

Now that we’ve gone through the depressing task of properly setting your expectations, here’s the good news: Very often, the data on failed drives is recoverable. In fact, it’s surprising how resilient that information can be—just ask any corporate embezzler who thought he had deleted all the evidence from his PC, only to have it show up later in court. The comparison is apt, since the very same computer forensic tools that uncover digital misdeeds are the ones that can find your treasured family photos.

There are two ways that drives crash: Logical failure and mechanical failure. In a logical failure, the drive’s components are physically undamaged, but because of either accidental formatting or a corrupt file system, the drive is not able to find and navigate its own data. However, unless it has been overwritten, that data still exists on your drive.

A mechanical failure means that your drive has broken parts that are preventing it from working—busted drives often make a telltale clicking sound as they futilely attempt to access their files. If you hear that, your data may still be there, but you’re not getting it back without calling in the experts (see “Worst-Case Scenario,” next page). And those experts make good money. Data recovery services from Kroll Ontrack, Seagate’s i365 and Iomega charge between $500 and $2500 to attempt to salvage data from either logical or mechanical disasters, depending on the severity of the situation. But if you are just dealing with a logical failure, you can get your files back on your own for far less.

We recently attempted a data recovery from the crashed drive of a Popular Mechanics colleague whose 120 GB MacBook drive had spontaneously given up the ghost. We removed the drive from her laptop, then used our USB drive adapter to hook it up to a desktop computer for diagnosis. We didn’t hear any sounds that indicated a truly dead drive, so our first step was to download the free demo diagnostic tool at Prosoft Engineering to check what might be salvageable. Many companies offer demos that will scan your drive and give you a pretty good idea of what’s recoverable before you lay down money to buy their software.

Once the assessment indicated we’d get good results, we used Prosoft’s Data Rescue II software ($99), which is tailored for the Mac OS and Mac-formatted drives. There are far more options for PC owners, including Prosoft’s Data Rescue PC ($99), as well as Ontrack EasyRecovery DataRecovery ($199) and RecoverMyFiles ($60) from GetData.

Most of these products work in a similar way. Install the software, select the defective drive as your source and choose a destination folder to receive the data. (Make sure your recovery drive has enough space for the contents of your failed drive.) Then be prepared to wait, and wait. A full scan and recovery of our 120 GB drive took four days, and a larger drive could take longer.

Recovering a hard drive is a bit like getting back a stolen car—you’ll be happy to have your files back, but the results could be messy. No data recovery program will return your files to you in exactly the condition you originally kept them. These programs are designed to essentially do a data dump from your problem drive to a new drive. Files will be organized by type (JPEG images will be in one folder, Word documents in some other folder, MPEG movies in another) and your songs and photos will be mixed with random sound and image files from your computer’s system folder.

Additionally, the names of all your files will have been changed to various alphanumeric sequences, such as IMG1039.jpg or MOV2010.mov. So be prepared to settle in for a long weekend of sifting through and renaming your files. Oh, and while you’re at it, now’s a good time to buy that backup drive.








Drive Disasters: Worst-Case Scenario
We took two drives and messed ‘em up good, then sent them to the pros. By Glenn Derene

What if your hard drive is suffering from something a bit worse than your everyday hard-drive crash? How much damage can your data take before it’s gone forever? We wanted to find out what could be salvaged from a computer that had been through a natural disaster, so we simulated a really bad one. We decided upon an earthquake/flood doomsday scenario. First, we took two laptop drives, loaded them with test movie and music files, then beat the heck out of them until we heard the signature clicking of mechanical hard-drive failure. Then we submerged one of the drives in custom- made storm-surge floodwaters (salt water, construction debris, oil) and let it soak for four days.

We sent both hard drives to Kroll Ontrack Data Recovery, which sells data-rescue services to both corporate clients and consumers. Ontrack’s Jeff Pederson analyzed the drives in the company’s clean room and found that the read/write heads in our dry drive were bent from our abuse and that we had scratched the platters. Our flooded drive was wet, but the platters were undamaged. Pederson replaced the heads and performed a recovery.

The results? Pederson was able to save 99 percent of the data from the dry drive and 100 percent from the flooded drive. Had we been paying customers, the service would have cost us $1200 each.

Post by : http://www.popularmechanics.com

Read More... Read more...

How to protect a computer from virus ?

Wednesday, April 15, 2009

Step1
Be cautious about what disks and files you accept from other people.


Step2
Don't reuse disks that have been in other computers, don't download files from insecure sites, and don't open e-mail attachments unless you are expecting them. Be wary of messages and attachments, even from people you know, with vague subject lines and contents, such as 'Check this' or 'See these pics!!!'

Step3
Obtain an antivirus program to more safely share disks, download files from the Internet and open e-mail attachments.

Step4
If your system gets a virus, visit your virus-scan software manufacturer's Web site and install any virus updates that are available. Then run the software. The software may not be able to delete the virus, but it may be able to identify it.

Step5
Search the Web for information regarding your specific virus by typing the name of the virus or its associated file into a search engine, followed by the word 'virus.' For example, 'Melissa virus,' 'BubbleBoy virus,' and so on.

Step6
Download and install any software patches or other programs that will help you eliminate the virus. Or follow any instructions you find on deleting the virus manually.

Step7
Run another virus scan to make sure the virus was dealt with properly.

Step8
Employ extra caution when you receive attachments that end in the commonly used extensions .doc, .exe, .com, .xls or .ppt. Never open attachments that end in .vbs or .js, since a typical user would never have a reason to open these files.

From : http://www.ehow.com

Read More... Read more...

Installing Windows Home Server

Wednesday, April 1, 2009

Windows Home Server is Microsoft's upcoming version of Windows designed for storing your pictures, videos and files so you can share them between all the computers in your home.

When you put in the Windows Home Server (WHS) installation disc you will get a familiar Windows loading files screen with progress bar.


After files have been loaded you will get the first WHS setup screen. Keep the type as new installation and click Next.

Accept the terms of the Microsoft EULA and click Next.

Next you will need to enter in the product key and click Next.

Here is where you can choose which disk you want to install WHS on.

Click Yes on the Warning screen.

Now we are ready to start the installation. Notice it will take some time to install depending on your hardware configuration. Click on Start.

Once the installation starts, you will notice the typical Windows installation screens …

During installation your computer will reboot several times. This is normal and part of the install process. You will also get messages such as the one below that touts the virtue's of WHS.

Another screen that pops up a blue copying files screen which is very similar to what you see during and XP installation.

You will know you are getting close to the end of the installation when your computer reboots and you see your first Windows Home Server screen.

When the installation is over you will have your new Windows Home Server Desktop!


By : http://www.howtogeek.com

Read More... Read more...

Make Excel 2007 Always Save in Excel 2003 Format

After the tenth time saving an Excel spreadsheet and then emailing it to a co-worker still using Office 2003, I'm willing to save in 2003 format by default. It's not like the rest of the office is going to switch for a very long time anyway, and this way I can stop sending them the wrong documents by mistake!

Start by clicking that big round Office Button in the upper left hand corner.


In the resulting menu, click the Excel Options button.

Now click the Save tab, and then change the "Safe files in this format" dropdown to "Excel 97-2003 Workbook".

Finally! Now I can't accidentally send files in the wrong format anymore. Was really starting to irritate me.

By : http://www.howtogeek.com

Read More... Read more...

Make Windows Vista Shut Down Services Quicker

The more applications that you install into Windows, the longer the computer takes to shut down. This is especially true for applications that install a service that runs when the computer starts, and even more true for services that refuse to shut down quickly, or time out when being shut down.

To change Windows to shut down the services quicker, open the registry editor, and browse down to the following key


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control

You should see a key in the right-hand window called "WaitToKillServiceTimeout", with a default value of 20000, which represents 20000 milliseconds, or 20 seconds. You can change this to a value of 5000 for 5 seconds.


You won't want to make this value much less than 5 seconds.

Read More... Read more...

Create Powerful Images with Photoshop CS4

Monday, March 30, 2009

Adobe® Photoshop® CS4 software provides improved access to its unrivaled power through a more intuitive user experience, greater editing freedom, and significant productivity enhancements.

Did you know…

Images can be adjusted in half the time
Making several adjustments in Photoshop CS4 using the new Adjustments panel is more than twice as fast than using Adjustment Layers in previous versions to achieve the same results.


Enjoy smoother rotation, panning, and zooming
Simply click and drag to turn your canvas for distortion-free viewing at any angle. Gracefully navigate to any area of an image with ultra-smooth zooming and panning. Photoshop CS4 leverages newer computer processors for dramatic boosts in performance.

Bypass cropping and retouching with intelligent Content-Aware Scaling
Use revolutionary Content-Aware Scaling to automatically recompose an image as you resize it, smartly preserving vital areas as the image adapts to different aspect ratios. Get the perfect image in one step without time-intensive cropping and retouching.

Composite images in seconds for panoramas or extended-focus photos
Automatically stitch horizontal or vertical photos to create seamless panoramas using Photomerge® technology. Combine a series of shots with different focal points into a single color-corrected image with automatic correction for vignettes and lens distortion.

Easily apply localized changes to camera raw images

Make localized changes — even gradient-based adjustments — to camera raw images with ease. Simply paint the area to be affected, and then use sliders to control the change. Corrections are nondestructive, so your original files are maintained in their pristine state.

Find, preview, and manage images with greater efficiency

Discover faster performance and enhanced navigation tools in Adobe Bridge CS4. Operations from startup to handing off of images to Photoshop are faster, and convenient new workspace buttons let you instantly jump to the right display for every task.

There's a solution for pro photographers

Streamlined Photoshop CS4 integration
Enjoy tight integration with Adobe Photoshop software for streamlined use of Smart Objects, panorama stitching, high dynamic range (HDR) functionality, multiple layer workflow, and more. See your edits automatically updated in Lightroom.


Retrace your editing steps
Track the changes you make to a photo in the History panel, which automatically enters easy-to-understand text as you edit. Add set points in the panel at any time so you can instantly return to those versions of the photo.

Automatically apply metadata stamps
Easily apply your preferred metadata settings to photos as you import them.

Easily group photos
Store any number of related photos as a collection by simply giving the group a name or specifying criteria that will automatically include a new photo. Recall your collections with a single click and modify them at any time.


Automatically rename files
Quickly set up naming rules, and then apply them to individual photos or groups. Even apply naming rules automatically on import.

Choose the appropriate view
Quickly browse groups of photos in Grid view. Switch to Compare or Survey view to easily and intuitively narrow down a series of photos to just the one you need. Or use Loupe view to zoom in on the finest detail of any single photo.

Organize effortlessly
Find your photos quickly with powerful yet flexible sorting, selecting, and organizing tools. Automatically import, rename, and sort your entire shoot.


Use suggested keywords
Organize your photos the way that makes sense to you. Just type keywords and apply them to individual or multiple photos. Lightroom can automatically suggest keywords based on previous keyword associations.

Photoshop supports the DNG raw format

The public, archival format for digital camera raw data

Raw file formats are becoming extremely popular in digital photography workflows because they offer creative professionals greater creative control. However, cameras can use many different raw formats — the specifications for which are not publicly available — which means that not every raw file can be read by a variety of software applications. As a result, the use of these proprietary raw files as a long-term archival solution carries risk, and sharing these files across complex workflows is even more challenging.

The solution to this growing problem? The Digital Negative (DNG), a publicly available archival format for the raw files generated by digital cameras. By addressing the lack of an open standard for the raw files created by individual camera models, DNG helps ensure that photographers will be able to access their files in the future.

Within a year of its introduction, several dozen software manufacturers such as Extensis, Canto, Apple, and iView have developed support for DNG. And respected camera manufacturers such as Hasselblad, Leica, Casio, Ricoh, and Samsung have introduced cameras that provide direct DNG support.

The Digital Negative (DNG) was introduced by Adobe in 2004 to help address the lack of a universal format for the raw files generated by digital cameras. As the popularity of the raw workflow has grown, there has been an increasing concern on the part of photographers that they may not have access to their files in the future. Get more information about DNG.

In the last year alone, DNG has gained support from both hardware and software manufacturers alike. Camera manufacturers adopting DNG benefit by knowing their files will be supported by existing software so that customers do not have to wait for software updates. Software vendors supporting DNG benefit by not having to spend valuable resources developing support for the rapidly growing number of raw formats.


In addition to the Digital Negative specification, Adobe provides the free Adobe DNG Converter (Windows® | Mac OS), which easily translates raw files from many of today's popular cameras. Software developers and manufacturers can download the complete DNG Specification (PDF, 852K). DNG is supported by Adobe® Photoshop® CS4, Photoshop CS3, Photoshop CS2, Photoshop CS, Photoshop Elements 7.0, Photoshop Elements 6.0, Photoshop Elements 4.0, and Photoshop Elements 3.0 software.

Key benefits
Key benefits for photographers:

==> The DNG format helps promote archival confidence, since digital-imaging software solutions will be able to open your raw files more easily in the future.
==> A single raw processing solution enables a more efficient workflow when handling raw files from multiple camera models and manufacturers.
==> A publicly documented and readily available specification can be easily adopted by camera manufacturers and updated to accommodate future technology changes.

Key benefits for hardware and software manufacturers:

==> DNG removes a potential barrier to new camera adoption, since raw files from new models will be immediately supported by Photoshop and other applications.
==> The DNG format allows for R&D savings by reducing the need to develop new formats and simplifying camera testing.
==> A common format allows for greater control over the quality of conversions by third-party applications.
==> The specification allows for the addition of private metadata to DNG files, enabling differentiation.

Read More... Read more...

Attrib Function in Windows Operating System

Sunday, March 29, 2009

Displays, sets, or removes the read-only, archive, system, and hidden attributes assigned to files or directories. Used without parameters, attrib displays attributes of all files in the current directory.
Syntax

attrib [{+r|-r}] [{+a|-a}] [{+s|-s}] [{+h|-h}] [[Drive:][Path] FileName] [/s[/d]]
Top of page
Parameters


+r : Sets the read-only file attribute.

-r : Clears the read-only file attribute.

+a : Sets the archive file attribute.

-a : Clears the archive file attribute.

+s : Sets the system file attribute.

-s : Clears the system file attribute.

+h : Sets the hidden file attribute.

-h : Clears the hidden file attribute.

[ Drive : ][ Path ] FileName : Specifies the location and name of the directory, file, or set of files for which you want to display or change attributes. You can use wildcard characters (that is, ? and *) in the FileName parameter to display or change the attributes for a group of files.

/s : Applies attrib and any command-line options to matching files in the current directory and all of its subdirectories.

/d : Applies attrib and any command-line options to directories.

/? : Displays help at the command prompt.

Remarks

* Working with groups of files

You can use wildcard characters (that is, ? and *) with the FileName parameter to display or change the attributes for a group of files. If a file has the system or hidden attribute set, you must clear these attributes before you can change any other attributes for that file.

* Using the archive attribute

The archive attribute (that is, +a) marks files that have changed since the last time they were backed up. The xcopy command uses archive attributes. For more information about archive attributes and xcopy, see Related Topics.

* The attrib command, with different parameters, is available from the Recovery Console.


Examples

To display the attributes of a file named News86 located on the current drive, type:

attrib news86

To assign the read-only attribute to the file named Report.txt, type:

attrib +r report.txt

To remove the read-only attribute from files in the \Public\Jones directory on a disk in drive B and from files in any subdirectories of \Public\Jones, type:

attrib -r b:\public\jones\*.* /s

Consider a scenario where you want to give an associate a disk containing all files in the default directory on a disk in drive A, except files with the .bak extension. Because you can use xcopy to copy only those files marked with the archive attribute, you need to set the archive attribute for those files you want to copy. First, you need to set the archive attribute for all files on drive A. Second, you need to clear the archive attribute for those files with the .bak extension. For example, type:

attrib +a a:*.* attrib -a a:*.bak

Next, use xcopy to copy the files from the disk in drive A to the disk in drive B. The /a command-line option in the following command causes xcopy to copy only those files marked with the archive attribute. For example, type:

xcopy a: b: /a

If you want xcopy to clear each file's archive attribute after it copies the files, use the /m command-line option instead of /a. For example, type:

xcopy a: b: /m


Format and Meaning

=> Italic : Information that the user must supply
=> Bold : Elements that the user must type exactly as shown
=> Ellipsis (...) : Parameter that can be repeated several times in a command line
=> Between brackets ([]) : Optional items
=> Between braces ({}); choices separated by pipe (|) : Set of choices from which the user must choose only one
Example: {even|odd}
=> Courier font : Code or program output

Read More... Read more...

Files System Functions in Windows

a006.exe

Description :
a006*.exe is a process belonging to the Claria advertising program by Claria Corporation. This process monitors your browsing habits and distributes the data back to the author's servers for analysis.\r This also prompts advertising popups.\r This process is a security risk and should be removed from your system.\r


Recommendation :
Disable and Remove a006.exe IMMEDIATELY. This process is most likely an adware or spyware. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

a2sys.exe

Description :
N/A

Recommendation :
Not a critical component, but see the information above before disabling it. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings..

host.exe

Description :
host.exe is a process belonging to the Begin2Search advertising program.\r This process monitors your browsing habits and distributes the data back to the author's servers for analysis.\r This also prompts advertising popups.\r This process is a security risk and should be removed from your system.\r

Recommendation :
Disable and Remove host.exe IMMEDIATELY. This process is most likely an adware or spyware. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

boot.exe

Description :
boot.exe is added by the ELEM virus. This process is a security risk and should be removed from your system.\r If found on your system make sure that you have downloaded the latest update for your antivirus application.\r

Recommendation :
Disable and Remove boot.exe IMMEDIATELY. This process is most likely a virus or trojan. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

userinit.exe

Description :
userinit.exe is a key process in the Windows operating system. On boot-up it manages the different start up sequences needed, such as establishing network connection and starting up the Windows shell. This program is important for the stable and secure running of your computer and should not be terminated.\r

Recommendation :
userinit.exe should not be disabled, required for essential applications to work properly.. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

airgcfg.exe

Description :
airgcfg.exe is a process associated with Airplus Wireless Router driver from D-Link.\r This program is important for the stable and secure running of your computer and should not be terminated.\r

Recommendation :
Not a critical component, but see the information above before disabling it. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings..

alg.exe
Application Layer Gateway Service

Description :
The alg.exe executable allows applications (such as IM clients, RTSP, BitTorrent, SIP, and FTP) from a client computer to dynamically utilize passive TCP/ UDP ports in communicating with known ports on a server. This allows software to access applications that reside on another computer even if there is a firewall.

The alg.exe file’s absence would cause the security protocols to block communication ports, or for network administrators to consciously open numerous ports on the firewall that would create immense network vulnerability and potential threats.

The development of alg.exe was done within the context of computer networking architectures, where it is associated with the Application Level (or Layer) Gateway Service, as well as Network Address Translation, and is designed to supplement the firewall protection of a network.

Recommendation :
alg.exe should not be disabled, required for essential applications to work properly.. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

avgnt.exe
Antivirus System Tray Tool

Description :
avgnt.exe is a process belonging to Avira Internet Security Suite which protects your computer against Internet-bound threats such as spyware and trojans which can be distributed through e-mail or attack directly to the computer allowing unauthorized access to your computer.\r This program is important for the stable and secure running of your computer and should not be terminated.\r

Recommendation :
Not a critical component, but see the information above before disabling it. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings..

avguard.exe
Antivirus On-Access Service

Description :
avguard.exe is a process belonging to Avira Internet Security Suite which protects your computer against Internet-bound threats such as spyware and trojans which can be distributed through e-mail or attack directly to the computer allowing unauthorized access to your computer.\r This program is important for the stable and secure running of your computer and should not be terminated.\r

Recommendation :
Not a critical component, but see the information above before disabling it. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings..

csrss.exe
Microsoft Client/Server Runtime Server Subsystem

Description :
The Microsoft Client Server Runtime Server subsystem utilizes the process csrss.exe for managing the majority of the graphical instruction sets under the Microsoft Windows operating system. As such Csrss.exe provides the critical functions of the operating system, and its termination can result in the Blue Screen of Death being displayed.

Csrss.exe controls threading and Win32 console window features. Threading is where the application splits itself into multiple simultaneous running tasks. Threads supported by csrss.exe are different from processes in that threads are commonly contained within the process, with various threads sharing resources within the same process. The Win32 console is the plain text window in the Windows API system (programs can use the console without the need for image display).

In mobile devices such as notebooks and laptops, the process csrss.exe is closely dependent on power management schemes implemented by the system as defined under the Control Panel option.

Recommendation :
csrss.exe should not be disabled, required for essential applications to work properly.. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

ctfmon.exe
Alternative User Input Services

Description :
ctfmon.exe is a process belonging to Microsoft Office Suite.\r It activates the Alternative User Input Text Input Processor (TIP) and the Microsoft Office XP Language Bar. "This program is a non-essential system process, but should not be terminated unless suspected to be causing problems.\r"

Recommendation :
ctfmon.exe should not be disabled, required for essential applications to work properly.. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

explorer.exe
Microsoft Windows Explorer

Description :
The explorer.exe file is an executable file for Windows Explorer. In the Microsoft Windows operating system, the explorer.exe file runs and has a graphical user interface that you can see when you are opening hard drives or files. Sometimes, the graphical user interface of the explorer.exe file is referred to as Windows GUI shell or Explorer.

The explorer.exe file was created to replace the Windows 3.x File Manager, which is the older version of the application embedded on previous versions of the MS Windows environment. The explorer.exe file is executed when the user double-clicks on the My Computer desktop icon and the one found in the Start menu. The explorer.exe file was initially used only to navigate or browse files, but as newer versions of Windows were released, it evolved to being a file management system that is task-based.

Recommendation :
explorer.exe should not be disabled, required for essential applications to work properly.. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

jusched.exe
Sun Java Update Scheduler

Description :
jusched.exe is a process installed alongside Sun Microsystem's Java suite and checks for Java updates which involves usage of the Internet. This program is important for the stable and secure running of your computer's Internet browsing and Java usage and should not be terminated.

Recommendation :
Not a critical component, but see the information above before disabling it. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings..

isass.exe
Optix.Pro virus

Description :
isass.exe is registered as the Optix.Pro virus which carries in it's payload, the ability to disable firewalls and local security protections, and a backdoor capability.

Recommendation :
Disable and Remove isass.exe IMMEDIATELY. This process is most likely a virus or trojan. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

mdm.exe
Machine Debug Manager

Description :
mdm.exe is associated with Microsoft Windows process debugging system. It allows the user to debug Internet Explorer errors by using a script interface tool. This is a non-essential process.\r Disabling or enabling it is down to user preference.\r

Recommendation :
Not a critical component, but see the information above before disabling it. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings..

mdm.exe
Virus

Description :
mdm.exe is a process which is registered as a Virus. This Virus allows attackers to access your computer from remote locations, stealing passwords, Internet banking and personal data. This process is a security risk and should be removed from your system.\r

Recommendation :
Disable and Remove mdm.exe IMMEDIATELY. This process is most likely a virus or trojan. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

msmsgs.exe
MSN Messenger

Description :
msmsgs.exe is the main process relating to the MSN Messenger Internet chat tool installed by default on most Windows computers. A tray bar is also installed alongside this process for easy access to its features which include Internet chat, file sharing and audio/video conferencing. This is a non-essential process.\r Disabling or enabling it is down to user preference.\r

Recommendation :
Not a critical component, but see the information above before disabling it. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings..

msmsgs.exe
W32.Alcarys.B@mm

Description :
msmsgs.exe is a process which belongs to the W32.Alcarys.B@mm virus. If found on your system make sure that you have downloaded the latest update for your antivirus application.\r This process is a security risk and should be removed from your system.\r

Recommendation :
Not a critical component, but see the information above before disabling it. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings..

services.exe
Windows Service Controller

Description :
services.exe is a part of the Microsoft Windows Operating System and manages the operation of starting and stopping services. This process also deals with the automatic starting of services during the computers boot-up and the stopping of services during shut-down. This program is important for the stable and secure running of your computer and should not be terminated.\r

Recommendation :
services.exe should not be disabled, required for essential applications to work properly.. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

services.exe
Trojan.W32.Sober

Description :
services.exe is a process which is registered as a trojan.\r "This Trojan allows attackers to access your computer from remote locations, stealing passwords, Internet banking and personal data.\r" This process is a security risk and should be removed from your system.\r

Recommendation :
Disable and Remove services.exe IMMEDIATELY. This process is most likely a virus or trojan. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

services.exe
Trojan.W32.Sober & Trojan.W32.Secefa

Description :
services.exe is a process which is registered as a trojan.\r "This Trojan allows attackers to access your computer from remote locations, stealing passwords, Internet banking and personal data.\r" This process is a security risk and should be removed from your system.\r

Recommendation :
Disable and Remove services.exe IMMEDIATELY. This process is most likely a virus or trojan. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

services.exe
Trojan.W32.Rontokbr

Description :
services.exe is a process which is registered as a trojan.\r "This Trojan allows attackers to access your computer from remote locations, stealing passwords, Internet banking and personal data.\r" This process is a security risk and should be removed from your system.\r

Recommendation :
Disable and Remove services.exe IMMEDIATELY. This process is most likely a virus or trojan. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

smss.exe
Session Manager Subsystem

Description :
smss.exe is a process which is a part of the Microsoft Windows Operating System. It is called the Session Manager Subsystem and is responsible for handling sessions on your system. This program is important for the stable and secure running of your computer and should not be terminated.\r

Recommendation :
smss.exe should not be disabled, required for essential applications to work properly.. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

smss.exe
trojan.w32.Sober

Description :
smss.exe is a process which is registered as a trojan.\r "This Trojan allows attackers to access your computer from remote locations, stealing passwords, Internet banking and personal data.\r" This process is a security risk and should be removed from your system.\r

Recommendation :
Disable and Remove smss.exe IMMEDIATELY. This process is most likely a virus or trojan. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

smss.exe
Trojan.W32.VIRKEL

Description :
smss.exe is a process which is registered as a trojan.\r "This Trojan allows attackers to access your computer from remote locations, stealing passwords, Internet banking and personal data.\r" This process is a security risk and should be removed from your system.\r

Recommendation :
Disable and Remove smss.exe IMMEDIATELY. This process is most likely a virus or trojan. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

smss.exe
Trojan.W32.Rontokbr

Description :
smss.exe is a process which is registered as a trojan.\r "This Trojan allows attackers to access your computer from remote locations, stealing passwords, Internet banking and personal data.\r" This process is a security risk and should be removed from your system.\r

Recommendation :
Disable and Remove smss.exe IMMEDIATELY. This process is most likely a virus or trojan. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

smss.exe
trojan.w32.Sufiage

Description :
smss.exe is a process which is registered as a trojan.\r "This Trojan allows attackers to access your computer from remote locations, stealing passwords, Internet banking and personal data.\r" This process is a security risk and should be removed from your system.\r

Recommendation :
Disable and Remove smss.exe IMMEDIATELY. This process is most likely a virus or trojan. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

smss.exe
Trojan.W32.LootSeek

Description :
smss.exe is a process which is registered as a trojan.\r "This Trojan allows attackers to access your computer from remote locations, stealing passwords, Internet banking and personal data.\r" This process is a security risk and should be removed from your system.\r

Recommendation :
Disable and Remove smss.exe IMMEDIATELY. This process is most likely a virus or trojan. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

svchost.exe
Microsoft Service Host Process

Description :
The file svchost.exe is the Generic Host Process for Win32 Services used for administering 16-bit-based dynamically linked library files (DLL files) including other supplementary support applications.

As operating systems became more complex Microsoft decided to run more software functionality from a dynamic link library (DLL) interface. However DLLs are unable to launch themselves and require at least one executable program, i.e. svchost.exe, is needed to bridge between the library process and the operating system.

Through the solitary file svchost.exe, the DLLs efficiently contain and dispense Win32 services as well as neatly facilitate the execution of svchost.exe’s own operations. Acting as a host, the file svchost.exe creates multiple instances of itself. The multiple executions of the file svchost.exe contribute to the stability and security of the operating system by reducing the possibility of a crashing process that causes a domino effect on its neighbor processes, thereby creating a system-wide crash in the machine.

Recommendation :
svchost.exe should not be disabled, required for essential applications to work properly.. It is highly recommended to Run a Free Performance Scan to automatically optimize memory, CPU and Internet Settings.

Read More... Read more...

Make Firefox Load Pages Faster

Steps

1. Type "about:config" into the address bar and hit return. Scroll down and look for the following entries:

network.http.pipelining,
network.http.proxy.pipelining,
network.http.pipelining.maxrequests
2. Normally the browser will make one request to a web page at a time. When you enable pipelining it will make several at once, which really speeds up page loading.

3. Alter the entries as follows:
4. Set "network.http.pipelining" to "true" by double-clicking it.
5. Set "network.http.proxy.pipelining" to "true" by double-clicking it.
6. Set "network.http.pipelining.maxrequests" to 8 by double-clicking it. This means it will make 8 requests at once. There is no point setting it higher then 8 as it is capped at 8 max. [The default value for this setting is 4]
7. Lastly right-click anywhere and select New-> Integer. Name it "nglayout.initialpaint.delay" and set its value to "0". This value is the amount of time the browser waits before it acts on information it receives.
8. If you're using a broadband connection you'll load pages MUCH faster now!

Tips

* Alternately, you could install Fasterfox, an extension which does some of this automatically, and makes tuning easier.
* For more information on Firefox Tuning see the Firefox Tuning sticky thread at the independent MozillaZine forums.
* Also the MozillaZine Knowledge Base on Network entries in about:config and what they do.
* You can also run Firefox in your RAM (no reading from the HD means faster Firefox) by following this article.
* If you have problems like slow down, pages not loading or images loading weird, just undo the tweaks in about:config
* You can also do this in the Internet explorer browser, In opera an alternative is: go to opera:config and go to performance. Then change the max number of connections to 32

Warnings
Take note that doing this can actually make certain pages run SLOWER.

Read More... Read more...

LINUX vs. WINDOWS

Flavors

Both Windows and Linux come in many flavors. All the flavors of Windows come from Microsoft, the various distributions of Linux come from different companies (i.e. Linspire, Red Hat, SuSE, Ubuntu, Xandros, Knoppix, Slackware, Lycoris, etc. ).

Windows has two main lines. The older flavors are referred to as "Win9x" and consist of Windows 95, 98, 98SE and Me. The newer flavors are referred to as "NT class" and consist of Windows NT3, NT4, 2000, XP and Vista. Going back in time, Windows 3.x preceded Windows 95 by a few years. And before that, there were earlier versons of Windows, but they were not popular. Microsoft no longer supports Windows NT3, NT4, all the 9x versions and of course anything older. Support for Windows 2000 is partial (as of April 2007).


The flavors of Linux are referred to as distributions (often shortened to "distros"). All the Linux distributions released around the same time frame will use the same kernel (the guts of the Operating System). They differ in the add-on software provided, GUI, install process, price, documentation and technical support. Both Linux and Windows come in desktop and server editions.

There may be too many distributions of Linux, it's possible that this is hurting Linux in the marketplace. It could be that the lack of a Linux distro from a major computer company is also hurting it in the marketplace. IBM is a big Linux backer but does not have their own branded distribution. Currently there seem to be many nice things said about the Ubuntu distribution.

Linux is customizable in a way that Windows is not. For one, the user interface, while similar in concept, varies in detail from distribution to distribution. For example, the task bar may default to being on the top or the bottom. Also, there are many special purpose versions of Linux above and beyond the full blown distributions described above. For example, NASLite is a version of Linux that runs off a single floppy disk (since revised to also boot from a CD) and converts an old computer into a file server. This ultra small edition of Linux is capable of networking, file sharing and being a web server.

Graphical User Interface

NOTE: Added July 10, 2008: On July 2, 2008 Walter Mossberg wrote an introduction to the Mac OS X user interface for Windows XP users. I then blogged on the same interface topics that he mentioned on my CNET blog: Introducing the Linux user interface. In my opinion a Windows XP user switching to Ubuntu 8.04 will feel much more at home with Ubuntu compared to Leopard.

NOTE: The paragraphs below were last reviewed in June 2005

Both Linux and Windows provide a GUI and a command line interface. The Windows GUI has changed from Windows 3.1 to Windows 95 (drastically) to Windows 2000 (slightly) to Windows XP (fairly large) and is slated to change again with the next version of Windows, the one that will replace XP. Windows XP has a themes feature that offers some customization of the look and feel of the GUI.

Linux typically provides two GUIs, KDE and Gnome. See a screen shot of Lycoris and Lindows in action from the Wal-Mart web site. The lynucs.org web site has examples of many substantially different Linux GUIs. Of the major Linux distributions, Lindows has made their user interface look more like Windows than the others. Here is a screen shot of Linux made to look like Windows XP. Then too, there is XPde for Linux which really makes Linux look like Windows. Quoting their web site "It's a desktop environment (XPde) and a window manager (XPwm) for Linux. It tries to make easier for Windows XP users to use a Linux box."

Mark Minasi makes the point (Windows and .NET magazine, March 2000) that the Linux GUI is optional while the Windows GUI is an integral component of the OS. He says that speed, efficiency and reliability are all increased by running a server instance of Linux without a GUI, something that server versions of Windows can not do. In the same article he points out that the detached nature of the Linux GUI makes remote control and remote administration of a Linux computer simpler and more natural than a Windows computer.

Is the flexibility of the Linux GUI a good thing? Yes and No. While advanced users can customize things to their liking, it makes things harder on new users for whom every Linux computer they encounter may look and act differently.

Text Mode Interface

This is also known as a command interpreter. Windows users sometimes call it a DOS prompt. Linux users refer to it as a shell. Each version of Windows has a single command interpreter, but the different flavors of Windows have different interpreters. In general, the command interpreters in the Windows 9x series are very similar to each other and the NT class versions of Windows (NT, 2000, XP) also have similar command interpreters. There are however differences between a Windows 9x command interpreter and one in an NT class flavor of Windows. Linux, like all versions of Unix, supports multiple command interpreters, but it usually uses one called BASH (Bourne Again Shell). Others are the Korn shell, the Bourne shell, ash and the C shell (pun, no doubt, intended).

Cost

For desktop or home use, Linux is very cheap or free, Windows is expensive. For server use, Linux is very cheap compared to Windows. Microsoft allows a single copy of Windows to be used on only one computer. Starting with Windows XP, they use software to enforce this rule (Windows Product Activation at first, later Genuine Windows). In contrast, once you have purchased Linux, you can run it on any number of computers for no additional charge.

As of January 2005, the upgrade edition of Windows XP Home Edition sells for about $100, XP Professional is about $200. The "full" version of XP Home is about $200, the full version of XP Professional is $300. Windows Server 2003 Standard Edition with 10 Client licenses is about $1,100. Because they save $100 or so on the cost of Windows, Wal-Mart can sell a Linux based computer for $200 (without a monitor) whereas their cheapest Windows XP computer is $300 (as of January 2005).

The irony here is that Windows rose to dominance, way back when, in large part by undercutting the competition (Macs) on cost. Now Linux may do the same thing to Windows.

You can buy a Linux book and get the operating system included with the book for free. You can also download Linux for free from each of the Linux vendors (assuming your Internet connection is fast enough for a 600 MB file and you have a CD burner) or from www.linuxiso.org. Both these options however, come without technical support. All versions of the Ubuntu distribution are free.

You can purchase assorted distributions of Linux in a box with a CD and manuals and technical support for around $40 to $80 (some distributions may be less, others may be more). Regular updates and ongoing support range from $35 a year for a desktop version of Linux to $1,500 for a high-end server version. August 2004 Red Hat started selling a desktop oriented version of Linux for under $6 per user per year.

After the initial cost (or lack thereof) of obtaining software, there is the ongoing cost of its care and feeding. In October 2002, ComputerWorld magazine quoted the chief technology architect at Merrill Lynch & Co. in New York as saying that "the cost of running Linux is typically a tenth of the cost of Unix and Microsoft alternatives." The head technician at oil company Amerada Hess manages 400 Linux servers by himself. He was quoted as saying "It takes fewer people to manage the Linux machines than Windows machines." Microsoft commissioned a study that (no surprise) found it cheaper to maintain Windows than Linux. However, one of the authors of the study accused Microsoft of stacking the deck by selecting scenarios that are more expensive to maintain on Linux.

I don't know if there will ever be an objective measure of the ongoing care and feeding costs for Linux vs. Windows. If there were however, it would have to consider:

* Dealing with bugs in the operating system
* Dealing with bugs in application software
* Dealing with viruses, worms, Spyware, etc.(big advantage to Linux here)
* Dealing with software upgrades to new versions (both the OS and applications)

Getting Linux

July 9, 2008 Ubuntu Linux goes retail. You can now buy an Ubuntu Linux CD with v8.04 at Best Buy for $20 in a package that includes 60 days of technical support to help you started.

Nothing need be said about getting Windows. As for Linux, you can buy a computer with it pre-installed, but usually not at major retailers. All the major PC vendors have been selling Linux based machines on their web sites for years. In large part though, these were server computers targeted at businesses not consumers. Linux pre-installed on consumer machines has been hit or miss, mostly miss. But, there are signs that this is changing (see the next topic - low cost laptops - for more on this).

There seems to be (as of November 2007) a new trend in targeting Linux for consumers. Many different companies are offering computers with low end CPUs targeted as second machines, or for use by children. This could be a Windows Vista backlash. Moving from Windows XP to Vista requires more complexity, more hardware horsepower and learning a new interface. Plus, it's expensive both for the hardware and the software. In contrast these latest Linux based computers machines have a simplified user interface and require the same or less hardware horsepower than Windows XP. And they are much cheaper, both for hardware and software reasons. The Linux interface can be customized, and every company selling a Linux based machine customizes the look and feel. Some go for simplicity hoping the machine can be used by children and non-techies. Other try to mimic the Windows XP interface.

An interesting article on cheap Linux computers for consumers is Five reasons not to fear a $200 Linux PC by Erica Ogg of CNET dated January 24, 2008. The subtitle is: A rash of supremely affordable PCs preloaded with Linux has hit mainstream retail stores. And trying one is not as risky a proposition as you might think.

Wal-Mart was a very early player when it came to selling computers running Linux. In November 2007 they started again, after backing away from it. The Everex Green gPC TC2502 is $200 (just for the computer, no monitor), emphasizes online applications but comes with Open Office, runs a version of Linux called gOS (which itself is a version of Ubuntu v7.10) and comes with 512MB of RAM, an 80GB hard disk, a CD burner/DVD reader and both Ethernet and a modem for connecting to the Internet. According to a CNET review in also includes 24/7 toll-free tech support. Shortly after its release, it appears to be popular. See also Review of the Everex TC2502 Green gPC and $200 Ubuntu Linux PC Now Available at Wal-Mart. I have used this machine. I hated it - for the software not for the hardware.

Previously, Wal-Mart sold PCs with Lycoris, Lindows and SuSE also for as low as $200. In March 2004, they started selling Sun Microsystems' version of Linux, the Sun Java Desktop, starting at $298. In December 2004, Wal-Mart started selling a $498 laptop computer running Linspire. I don't think these were big successes.

In January 2008, Sears started selling a Linux based tower machine for $300, with a $100 rebate that brings it down to $200. The hardware is from Mirus Innovations and it comes with a Celeron processor, 80GB hard disk, 1GB ram, a CD burner and Freespire version 2.0 (a version of Linspire).

The Zonbu Desktop mini is small, silent and cheap. It is approximately 5 x 7 x inches with no moving parts, 512 MB ram, and 4GB of flash based storage. It costs $100 to $300 depending on the service plan you chose (as of January 2008). Service plans include continuous online backup. See One week with Zonbu by Peter Glaskowsky at CNET September 14, 2007.

In June 2007 Dell started selling consumer machines with Ubuntu Linux pre-installed. See Dell picks Ubuntu for Linux PCs at CNET News.com. As of December 2007 they sell machines with Ubuntu Linux version 7.10. As of July 2008, Dell was still offering Ubuntu 7.10 despite the fact that version 8.04 had been out for a couple months. Also as of July 2008, Dell also offers Red Hat and Novell Linux on various machines. See here and also dell.com/linux and linux.dell.com.

In January 2008 Shuttle introduced a $200 Linux based computer running Foresight Linux 2.0 with no optical drive, no keyboard and no mouse. See the Shuttle KPC home page. As of July 2008, a $229 model had a Celeron processor, 512MB ram and an 80GB hard disk. For $300 you got a Pentium dual-core, 1GB of ram and a 160GB hard disk. Like all Shuttles, it's small: 6.4" high, 11" long, and 7.5" wide. CNET reviewed it in May 2008.

Also in January 2008 Asus said it will release a desktop version of the Eee PC to be called the E-DT. The E-DT is expected to cost between $200 and $300 (obviously this is without a monitor).

In August 2007 Lenovo announced plans to sell laptop computers with Linux pre-installed. They ran a Linux distribution from Novell and went on sale in January 2008. I blogged about a Linux Thinkpad in May 2008. In September 2008, Lenovo backed off, they no longer offer Linux pre-installed. See Lenovo Exits pre-Installed Linux Desktop Business.

HP dipped their toe into consumer Linux, but as of June 2007, every HP consumer desktop is running Windows Vista. On their 38 consumer laptops, 37 are running Vista, one uses XP. Even their small business desktop machines are all Windows. They only sell server versions of Linux. Back in 2004 HP was planning to offer a business notebook computer, the Compaq nx5000, with SUSE Linux pre-installed.

Linux Certified sells normal laptops (that is, not the newer low end laptops such as the Asus EEE) with Linux pre-installed. In August 2008 they had three models for $700 and they also sell ThinkPad T61 models with Linux for prices from $1,300 to $1,800.

Emperor Linux loads Linux distributions on laptops from Dell, Lenovo (ThinkPad X61s), Fujitsu, Sony and others. They offer a tablet computer running Linux and the Panasonic rugged Toughbook CF-U1 with Linux.

Pogo Linux sells custom-built desktops, workstations, blades and servers loaded with your choice of seven Linux distributions.

Affordy sells the Titan line of computers with a customized version of Ubuntu, called Titan LEV, pre-installed. Desktop machines start at $218 (last checked October 2008).

ZAReason sells laptops, desktops and small form factor comptuers with Linux pre-installed. As of November 2008, their cheapest laptop was an Asus Eee PC 1000 running Ubuntu 8.10 for $599. Among their other offerings is the Shuttle KPC, also runing Ubuntu 8.10, for $210.

In August 2008 Dana Blankenhorn did a series of blog postings at ZDNet about buying a Linux Laptop.

Low Cost Laptops

An exciting new trend is the appearance of Linux pre-installed in many new lost-cost laptop computers.

The most popular example of this is the ASUS Eee PC 4G which was released in November 2007. I have briefly used one and it's very impressive. Prices range from $300 to $500 (as of January 2008). The $300 model strikes me as a huge bargain, even if the screen is a bit too small.

The $200 XO laptop from the One Laptop Per Child Foundation has gotten much publicity. I used one and hated it. That said, it is targeted at children in developing countries and being an adult living in New York, I'm not the target audience. As far as I can tell you can't buy one anyway (as of January 2008).

Everex started selling their small Linux laptop, called the CloudBook, in February 2008 for $400. It is being sold at Wal-Mart, Newegg and TigerDirect, and ZaReason.com. It seems to compete directly with the Asus EEE laptop. See Engadget and Gizmodo. It has a 7" 800 x 480 display, 512MB of ram, a 30GB traditional (not flash) hard drive, Wi-Fi, Ethernet, a 4-in-1 card reader, a webcam and an Ubuntu-based version of Linux called gOS. It will weigh two pounds and the size is approximately 9" x 7" x 1".

Intel makes the Classmate PC. Quoting Intel they are "mobile personal learning devices for primary students (ages 5-14) in emerging markets." The Classmate was never intended for sale to the general public. I've read that this was out of fear by Intel that low cost Linux laptops would cut into their profit margins. As far as I can tell, they are not being sold in the United States. The Classmate uses many of the same parts as the Asus EEE laptop. It has a 7" screen with an 800x480 resolution, a Celeron processor, WiFi and 2GB of flash based hard disk storage.

Zonbu offers a laptop but it is a full size machine with a 15.4" wide screen and a built-in DVD-ROM/CD-RW. As of January 2008, it sells for $280 to $480 depending on the service plan.

If I had to bet, I'd say that low cost Linux laptops will take off. The cost, simplicity and portability are likely to be the big appeal. Not to mention immunity from most malicious software and the lack of a normal disk that increases the battery life and makes the machine more rugged. Linux can only run a handful of Windows programs, but out of the box these machines (except the XO) can do what most people need most of the time. I've read that Intel is working on a new processor called Silverthorne (for now) that will be cheap and engergy efficient and may spurn more cheap Linux laptops to appear on the market.

Installing the Operating System

There are three ways to install Windows XP: a clean install, an upgrade install and a repair install. Then, there is a "recovery" install, which is not an install in the true sense of the word but rather the restoration of a disk image backup.

* A clean install refers to starting with nothing (either an entirely empty hard disk or just an empty partition or just unallocated space on the hard disk) and ending up with just Windows.
* An upgrade install refers to starting with an older version of Windows and ending up with a newer version. Existing data files and applications should not be affected by the upgrade to the newer edition of Windows.
* A repair install refers to installing the same version of Windows on top of itself. This is used to fix a broken copy of Windows and existing data files and applications are not affected.
* A "recovery" is typically used to restore a computer to its factory fresh state. All data files are wiped out. All applications installed since the computer was new, are wiped out. All upgrades to Windows itself (patches, service packs) are lost. Applications pre-installed by the computer manufacturer are restored. Originally this was done from CDs, then DVDs. Now it is normally done from a hidden area of the hard disk.

Then there is Windows Vista where much has changed. I'm not familiar with the install options for Vista. Andy Pennell, a Microsoft employee, wrote about his problems installing Vista on June 21, 2007. He is very familiar with Windows and installed Vista onto a second internal hard disk, leaving the existing hard disk with Windows XP unchanged. At least that was the plan. See Installing Vista: My Personal Hell. Installing Vista on a computer with an existing copy of Windows, with the intention of dual-booting, is much trickier than it used to be with earlier versions of Windows.

There is a huge variation in the Linux installation procedure. Different distributions of Linux have their own installation programs (which may even change with different versions of the same distribution). Installing Linux on a computer without an existing operating system is much easier than installing it on a machine with an existing OS that you want to preserve.

I'm sure that installing Linux is getting easier all the time. While I haven't done it all that often, I have seen it become easier over time. Is it easy enough for you?

* Ed Bott blogged about his experience installing Linux on July 31, 2006. Linux, XP, and my old PC
* In March 2007, he tried again with mixed success. Why does Linux hate me?
* A picture is worth a thousand words so this July 2007 picture show at ZDnet on Installing OpenSUSE 10.2 is instructive
* In June 2007, I installed Ubuntu v7.4 on an IBM NetVista machine that was about four years old. The system would only run at 640x480 and things went downhill from there. The problem may have been due to a KVM switch that prevented the system from querying the monitor. However, instead of asking me or telling me anything about a failure to detect the monitor, it just ran at 640x480 with no GUI based facility to increase the resolution.

When installing Linux on a machine where you don't need to preserve the existing operating system, there is likely to be an option to clobber the existing OS as part of the Linux installation procedure. Or, you can use a program to totally wipe everything off the hard disk before installing Linux. The free Darik's Boot and Nuke is fairly famous for this. Better yet, the hard disk vendor should have a free utility that not only wipes the hard disk but also can run diagnostics on the disk.

You can also buy a new computer without any operating system. A low end Dell server, the PowerEdge 840 sold for $600 in June 2007. You can buy an HP ProLiant server starting at $500 that is certified to run six Linux distributions. IBM is big on Linux, quoting their web site: "The entire IBM Systems product line is Linux enabled." They sell computers both with no operating system and with Linux pre-installed. Nothing there is cheap however. Wal-Mart used to sell Microtel machines without an OS, but no more.

Installing Linux for dual booting, that is, keeping the existing operating system in tact, is probably best left to techies. It is all too easy to lose the pre-existing OS. You need to be familiar with hard disk partitions and some Linux terminology. With Red Hat Linux 8, the booklet on how to install the OS was over a hundred pages.

In his Linux book, Mark Minasi said that installing Linux on a desktop computer was more likely to be successful than on a laptop computer.

Running Linux Without Installing It

Added November 23, 2008: ZAReason sells a bootable copy of Ubuntu on a 4GB USB flash drive for $39.99. In general new computers can boot from a USB flash drive, however older computers may not be able to. According to the company, the drive is configured to support persistence, but it is not the default option. That is, by default it functions like a Live CD and throws away all record of your actions. However, at bootup you can select persistence if you want. That said, the company noted in an email that versions of Ubuntu prior to Intreped were "somewhat buggy with persistence".

Added July 10, 2008: From my CNET blog Why you want a Linux Live CD.

One thing that Linux can do that Windows can not, is run from a CD. To run Windows, it has to first be installed to your hard disk. Normally Linux also runs from a hard disk, but there are quite a few versions of Linux that run completely from a CD without having to be installed to a hard disk. The term for this is a "Live" CD.

Running a Live CD version of Linux is a great way for Windows users to experience Linux for the first time. Among the Linux distros that have a CD-only version are Knoppix, Ubuntu and Open SuSE). I tried SuSE Live Eval version 9 in October 2003 and had some gripes. FreeBSD, a version of Unix (rather than Linux), also has a LiveCD.

That said, if Windows is broken to the point that it can't start up, there is a free program called Bart's Preinstalled Environment (BartPE) that can run a few Windows programs from a bootable CD. However, this is not from Microsoft and is only intended to fix a broken copy of Windows, it is not for everyday use. BartPE can only run a handful of programs that have been set up ahead of time for use with it. BartPE fills an important need, but creating the CD is not trivial, it requires a Windows CD (not recovery CDs or DVDs) and it only works with Windows XP and 2003 (not sure about Vista). The main point stands, in and of itself, Windows can not run from a CD.

The CD based versions of Linux differ in their use of the hard disk. Some, such as Lindows, do not write anything at all to your hard disk, making it the safest and easiest way to experience Linux. The downside of this is speed (CDs are much slower than hard disks) and continuity (being able to save data between uses). Other versions, such as SuSE 9 (this is now up to v10.2), do use your hard disk (SuSE 9 creates over 200 MB worth of files). What you give up in safety, you gain in speed. For reviews of Linux distributions that run from a CD see A Taste of Linux by Jim Lynch at ExtremeTech January 23, 2004 and A Taste of Linux, Part Two by Jim Lynch March 5, 2004.

In addition to kicking the tires on Linux, a Live CD can also be used to insure that your hardware is supported by that specific version of Linux. Bootable Linux CDs are also used to recover files when Windows breaks to the point of not being able to start up. A recent Live Linux CD should be able to see all Windows files (they can read NTFS) and copy them to an external USB device or another computer on a LAN. Older CD based versions of Lindows and SuSE could not read files stored in an NTFS partition.

In October 2005 a whole new way of running Linux without installing it was introduced: Virtual Machines from VMware. Virtual machines let you run multiple operating systems on one computer at the same time. You can't beat it (virtual machines are used to run Windows on the Intel based Macs).

Using the free VMware Player you can download pre-built Linux virtual machines. Think of the VMware Player as analogous to the Adobe Acrobat Reader. Creating virtual machines costs money, but playing them does not.

VMware has been creating virtual machines on PCs for a long time. Running a virtual machine previously required their expensive software (VMWare Workstation was $200 in April 2007, only a couple years previously it cost almost twice that). Now it can be done for free. And prior to October 2005 there were no pre-built virtual machines available from VMWare, if you wanted to run Linux, you had to install it.

Now you can get a pre-installed virtual copy of Ubuntu v7.04 Server, OpenBSD 4.0 and CentOS 5.0. Even better, many pre-built Linux virtual machines come with pre-installed applications. Want to run the Apache web server and the MySQL database? Just download a VM with them installed.

For years you could have installed Linux into a new virtual machine. It is a great way to learn and experiment. However, creating a new virtual virtual machine required the somewhat expensive VMWare workstation. Now, the free VMware Server software can be used to create a new virtual machine into which you can install any operating system. You can also download new, empty virtual machines from EasyVMX.

VMWare Server has another big plus: it supports a checkpoint (a.k.a. restore point, synch point). You can take a checkpoint in your virtual machine, work on it a while and then revert the VM back to the checkpoint. All for free. How things change.

Microsoft also has free virtual machine software but there are no-prebuilt virtual machines for it. Needless to say, Microsoft is not going to provide Linux virtual machines and they make a lot of money selling Windows so they're not going to give it away. Also, their software is not as mature as VMware, not as robust and I've read that it runs slower.

VMware is not the only free virtual machine software. VirtualBox is free and open source.

Yet another way to run Linux without installing it is from a flash drive (a.k.a thumb drive, USB drive, pen drive, memory stick, etc.).

In June 2006 David Pogue wrote about Linux distros can run from a thumb drive (A Handy Tip From a Reader on Flash Drives) where the two distros mentioned are 50MB (Damn Small Linux) and 70MB. In fact, Damn Small Linux does even more tricks. It can run from within Windows! And, if you have 128MB of ram to spare, it can run completely in ram, which has got to be fast. See Linux in Windows .. Again at ghacks.net.

In November 2005, you could have purchased a 3GB MicroDrive (1 inch hard disk) with Ubuntu Linux. The drive plugs into a USB port and is fully powered by the USB port. See Taking Linux On The Road With Ubuntu at Toms Hardware. I'm not sure if this is still available.

And work is ongoing on creating portable Linux applications (as of March 2007).

Application Software

There is more application software available for Windows. Then again, there may be sufficient Linux software for your needs.

Obtaining application software: If you buy a copy of Windows on a CD-ROM, you get no application software with it. If you buy a copy of Linux on a CD-ROM (or two or three) it typically comes with gobs of free application software. Likewise, Linux ISO downloads usually include lots of application software. The exception are Linux distributions that are small on purpose such as Damn Small Linux or Pen Drive Linux.

A new computer with Windows pre-installed normally comes additional application software, exactly what to include is up to the PC vendor. On one extreme, I have seen a new Sharp laptop machine that came with no software other than Windows itself. This is rare. In contrast, Sony VAIOs, for example, are more mainstream and come with a lot of software. However, there are two problems with the pre-installed application software on Windows computers.

First, much of it is junk. So much, that a new term "crapware" is being used to describe it. The PC vendors make money by installing this software that many people consider worse than useless. In fact, the first thing many techies do is un-install this software, someone even came out with a PC de-crapifier program to automate the un-installs. Windows computers sold to businesses tend to have less undesirable application software pre-installed compared to computers sold to consumers. I have never heard of anyone complaining about the software that comes pre-installed in the normal, popular versions of Linux.

Second, important software is often missing or old. For example, the Adobe Acrobat reader, may not pre-installed by the PC vendor. In February 2008, I blogged about a new Lenovo computer that came with terribly old versions of application software.

On the Linux side, to get a feel for the application software that comes with Ubuntu version 8.04 see Adventures with open source apps on Linux - Part 1 by Adrian Kingsley-Hughes from May 23rd, 2008.

Application software installation: The installation of applications under Windows, while not standardized, is generally consistent and generally pretty easy. Installing software under Linux varies with each distribution and has not been nearly as simple, easy or obvious as Windows. A couple articles from 2004 griped about how hard it was to install software in Liunx: The May 20, 2004 issue of the Langa list newsletter and a July 4, 2004 review of Linux in the Washington Post (Linux, Still an Awkward Alternative) where Rob Pegoraro called application software installation "Linux's biggest embarrassment".

That said, current Linux distributions have an application somewhat akin to Windows update that can be used to install software. I don't have much experience doing this. However, in April 2008 I used one of the new $200 Walmart Linux gOS machines and found the application for installing software very confusing, and it failed every time I tried to install something.

Crossing the OS Boundary

A program written for Linux will not run under Windows and vice versa.

For example, Microsoft makes a version of Office for Windows and another version for the Mac. They are two different products, each capable of only running on the operating system it was designed for. There is no version of Microsoft Office for Linux.

On the other hand, some programs, such as Firefox, are available for multiple operating systems. Firefox runs on Linux, Windows, Macs and more. Open Office competes with Microsoft Office and comes in versions for Windows (all the way from Windows 98 up to Vista), GNU/Linux ("Linux"), Sun Solaris, Mac OS X (under X11), and FreeBSD.

The process of making a new version of a program that will run on a different operating system is called "porting". But there are other ways to get a program to run on an operating system other than the one it was designed for.

Virtual Machines

The most ambitious approach is to install one operating system inside another. Perhaps the most popular example of this is with Intel based Macintosh computers. Software from Parallels (Parallels Desktop 3.0 for Mac) and from VMware (Fusion) lets you run Windows at the same time as Mac OS X. In this example, the Mac OS X is referred to as the host or native operating system, it's the one that gets run when the computer is turned on. Windows is referred to as the guest operating system. This approach is called Virtual Machines. Assorted virtual machine software is available that lets Linux, Macs and Windows operate as either the host or guest operating system.

In a guest copy of Windows, running under either Linux or Mac OS X as the host OS, you can install any and all Windows programs. Somewhat like a split personality, one computer can run two (or more) operating systems at the same time. VMware was the first to market with a virtual machine product (also called VMware) for personal computers. Virtual PC, has competed with VMware for a long time. Parallels is a more recent competitor. VirtualBox is free and open source virtual machine software. Virtual Machine products from these companies differ in their supported host and guest operating systems.

Win4Lin is virtual machine software that only supports Linux as the host OS and only supports Windows (95, 98, Me, 2000 or XP) as the guest OS.

Specific Applications

Less ambitious than virtual machine products (which let you run any application in the guest OS) are approaches targeted at only running a handful of Windows applications under Linux.

The simplest example is probably IEs 4 Linux which lets you run Internet Explorer versions 6 and 5 under Linux. It's free. For more, see Run Internet Explorer on Linux by Brian Smith Oct 11, 2007.

Some distributions of Linux include commercial software called Crossover Office from CodeWeavers that runs Microsoft Office (versions 2003, XP, 2000 and 97) and some other Windows applications under Linux. While this approach does less, it does not require a Windows license. Codeweavers has a list of supported applications and a comparison of their approach vs. virtual machines.

Since Crossover Office is a commercial product, it is not included in the free distributions of Linux. As of October 2007 CodeWeavers sold it for $40 or $70 depending on the version.

CrossOver is based on the Wine project. Wine is free software and is included with many GNU/Linux distributions. After 15 years of development, the first "finished" version of Wine was released in June 2008 (see Run Windows Software on Linux with Wine 1.0). Wine is, to a computer nerd, very interesting. It lets Windows applications run under Linux without a copy of Windows and without any virtualization. Windows applications talk to Windows using a specification known as the Windows API. Wine intercepts each Windows API command/request made by a Windows program and does, in Linux, the functions Windows does in response to the same command.

Wine does not, and will not, provide 100% compatibility; it will never run all Windows applications perfectly. Even applications that it runs well, may not have all their features and functions available. The Wine Project maintains a list of applications and how well they run under Wine. LifeHacker did a good intro to Wine in June 2008: Run Windows Apps in Linux with Wine 1.0.

Mary Jo Foley wrote that the Microsoft WGA (Windows Genuine Advantage) program looks for Windows programs running with Wine and purposely generates an error. See Microsoft Seeks to Bottle Up Open Source Wine (February 18, 2005).

As far as I know, the first Linux distribution that could run Windows applications was Lindows. As far back as October 2002, Xandros Linux Desktop v1.0 (previously Corel Linux) could run Windows applications. (ExtremeTech review). When SuSE Linux Office Desktop was released in January 2003, it too could run Microsoft Office applications thanks to Crossover Office.

TransGaming makes WineX which allows Linux users to run various Windows games that require OpenGL and DirectX. The combination of CrossOver Office and WineX should let you run many Windows programs under Linux. In July 2004 TransGaming gave WineX a new name, Cedega, and announced support some DirectX 9 games. (Linux Takes on Windows Gaming from ExtremeTech July 28, 2004)

On yet another front, Ximian (owned by Novell) is developing Project Mono, which will allow Microsoft .Net applications to run on Linux.

On still another front, Adobe Air lets you run the same application on multiple Operating Systems.

Interesting article on whether running Windows applications under Linux is a good idea: GNU/Linux Desktop: The Case Against Running Windows Apps by Bruce Byfield February 26, 2008.

Server Based Applications

There is yet another approach to crossing the operating system divide that goes by the names Terminal Services, Server Based Computing and Thin Client Computing. This approach runs applications on a server and sends a picture of the output to another (client) computer. From the client computer, keystrokes and mouse movements are sent back to the server. This approach is totally dependent on a network.

Windows applications are run by a server version of Windows and use the Terminal Services feature to communicate with a client computer. Depending on the software used, the client computer may be running Linux or Windows or a Mac. The all Microsoft solution can be supplemented with software from other companies (Citrix being the market leader) to provide advanced features. Years back, I used an earlier version of the Citrix software, then known as WinFrame, to provide Windows NT applications to client computers running Windows 95 and 98. Quite cool.

On the Linux/Unix side, Tarantella supports the display of Unix server applications on non-Unix, non-Linux machines.

Security

The vast majority of malicious software (of all types) runs on Windows. I don't know the actual percentages, but it wouldn't surprise me if it was 98% or so. Windows users are burdened with the need for anti-virus and anti-spyware software. Linux users are not. Why is this?

In Linux vs. Windows: Which is Most Secure? (March 2007) Kenneth van Wyk writes:

Linux [has] ... the notion of an administrative (root) user that maintains and operates the system, and desktop users who only run the software on the system, is completely ingrained in most Linux distributions. Now it’s true that many Linux users ignore these features and run all their software from a root-level account anyway, but that’s a choice that they’ve made. The system defaults to protecting the operating system components from its user’s actions (intentional or otherwise). That feature alone must account in large degree for the dearth of viruses and other malicious vermin on Linux and UNIX platforms. Windows, on the other hand, started life as a single user system, with that single user being all-powerful. Although that’s no longer the case, the general attitude can still be found in many Windows-based software products – many of which just can’t be installed and/or run properly without desktop administrator privileges. This is all changing for the better, but it took Microsoft far too long to adopt this default-secure configuration practice.

In November 2008 I purchased an Asus Eee PC 1000 which came with a modified version of Xandros Linux. Surprisingly it also came with a version of the NOD32 antivirus program from Eset.

Users and Passwords

Both Linux and Windows 2000/XP require a userid and password and boot time. That said, Windows XP supports users without a password (a very bad idea), I'm not sure if Linux does.

Windows can be configured to either ask for the userid/password at startup time or a default can be set instead. In Windows 2000 it is very easy to set a default userid/password, in Windows XP the method varies between the Home and Pro versions - in one it is straightforward, in the other it's a pain.

I've been told that in Linux the KDM and GDM login managers support automatic login. I've also been told that most versions of Linux do not allow the root user to login automatically. Windows, in contrast, is happy to let an Administrative user auto-login. Get started faster in Ubuntu explains how to configure Ubuntu to boot without asking for a userid/password.

A new Windows XP machine used by a home user is likely to not ask for a userid/password at start-up. However, this depends on the number of users defined to Windows. When you create a new user in XP the default is not to require a password (user friendly triumphs over security - the Microsoft way). Windows 98, never mind.

Windows XP, 2000 and Linux all support different types or classes of users. Windows XP Home Edition supports Administrator class users that have full and total access to the system and restricted users that, among other restrictions, can't install software. Windows XP Pro and Windows 2000 support additional levels of users.

Both Linux and Windows can group users into groups (finally, something well named) and assign privileges to the group rather than to each individual user. Windows XP and 2000 come with some pre-defined user groups (such as Power Users), I don't think Linux does (but I'm not sure). In XP and 2000 user "Administrator" is a member of the Administrators group.

Linux privileges are basically whether you can read, modify or execute a file. Files in Linux are always owned by a specific user and group. Windows has similar file-related privileges but only when using the NTFS file system. The earlier FAT and FAT32 file systems had no file level security.

I'm told that Windows NTFS permissions are a bit more functional than those in Linux, but that Linux distributions are starting to use extended Access Control Lists as a part of the file system, bringing them more on par with NTFS. (I won't swear by this)

Very often Windows users use an Administrator class userid which gives viruses total access to their system (see Why you should not run your computer as an administrator from Microsoft). This obviates the security rules discussed above. In contrast, Linux users often run as regular non-root users which not only means better security it also means that, if they get a virus, the operating system greatly restricts what the virus can do.

I have tried a couple times to set up a Windows XP computer for use by a family, creating Administrator class userids for the parents and restricted userids for children. Both cases failed because there were too many programs that did not function correctly when run by a restricted Windows user (more details here). While Linux has supported the concept of root and restricted users from the get-go, this is a relatively new thing to Windows. It will be a long time before all Windows software is designed to be used by a restricted user. Until then, viruses and malware will have free reign on Windows machines. Certainly software written for Windows 95, 98 and Me expects total system access and may not work when run from a restricted userid.

See also
=> Windows v Linux security: the real facts by John Lettice October 22, 2004 in The Register
=> Security Report: Windows vs Linux by Nicholas Petreley October 22, 2004

Bugs

All software has and will have bugs (programming mistakes). Linux has a reputation for fewer bugs than Windows, but it certainly has its fair share. This is a difficult thing to judge and finding an impartial source on this subject is also difficult. Fred Langa wrote an interesting article on whether Linux or Windows has fewer bugs in Information Week magazine January 27, 2003. The article also addressed whether known bugs are fixed faster with Linux or Windows. In brief, he felt that bugs used to be fixed faster in Linux, but that things have slowed down. See this article too Security research suggests Linux has fewer flaws December 13, 2004 from CNET News.com.

In March 28, 2003, Microsoft decreed that it will not issue a Windows NT4 bug fix for a security problem that effects Windows 2000, XP and NT4. They would prefer customers to move off of NT4, thus making Microsoft more money. It is their ball, their bat and their field. This is not true with an open source operating system such as Linux. No one can decree that a bug will not be fixed in a specific version of Linux.

The difference in OS development methodologies may explain why Linux is considered more stable. Windows is developed by faceless programmers whose mistakes are hidden from the outside world because Microsoft does not publish the underlying code for Windows. They consider it a trade secret. In contrast, Linux is developed by hundreds of programmers all over the world. They publish the source code for the operating system and any interested programmer, anywhere in the world can review it. Besides the wide audience for peer review, there is likely to be pride of ownership on the part of the developers of Linux that can not exist with Windows. The official term is "egoboo" which refers to the rush a programmer gets from public recognition, especially for something done for free. Bruce Perens (Business Week magazine, March 3, 2003 issue) commented on why open source software works well:

...it taps into the true motivation of programmers in a way that corporations often don't. Programmers are like artists ... They like to showcase their best stuff for their peers. In open source, they can. But at most corporations, their best work is hidden behind locked and guarded doors.

As to Microsoft's OS development methodology, Michael Miller of PC Magazine reported that Chris Jones, Vice President of the Windows Client team, "stressed" that Microsoft's priority when developing Vista "was to change the process of developing Windows to ensure that the underlying code was tighter and more secure." Vista will be the tenth version of Windows produced by Microsoft and they admit that the development process needs to be improved. See Vista: I Can See Clearly Now July 25, 2005.

Note: Shortly after I revised this section, all heck broke loose on the Internet due to a bug in the Plug-and-Play portion of Windows (see Fast-Moving Worms Slam Media, Enterprise Networks eWeek August 17, 2005). On August 9, 2005 Microsoft issued a fix for this bug. Within a week there were a dozen different malicious programs actively attacking computers without the bug fix. Many large companies were hit. This is par for the course, but it in light of this topic, it occurred to me that no story on the problem looked to find/blame/name the programmer that wrote the buggy Plug-and-Play code. No doubt, the world will never who caused all this grief. When faceless programmers can hide behind a corporate wall, these things are more likely.
Microsoft claimed that the Plug-and-Play bug only affected Windows 2000. Anti-virus companies claimed to have seen many other versions of Windows get infected. Was Microsoft lying to minimize the bad publicity? Were anti-virus companies trying to make their products seem more useful? Without access to the source code for Windows, no one can know for sure. I wonder if Microsoft fired the person(s) who wrote the buggy code or if they even know who did it?

Is It Soup Yet?

When is a new version of an Operating System done? Hard to say. All software has bugs and OSs, being very large software are very likely to have many bugs. When a new version of an Operating System is being developed, someone, at some point, has to say "enough is enough". That is, someone decides that a reasonable number of bugs have been found and fixed and the OS can now be considered finished. Linux and Windows differ greatly in how this decision is made.

With Linux, the decision is made by a computer nerd with a public reputation to protect. With Windows, the decision is made by business people with billions of dollars in profit at stake. Speaks for itself.

Be sure to read the excellent How Microsoft's Misunderstanding of Open Source Hurts Us All by Robert X. Cringely (October 23, 2003). The article argues in favor of Linux and ridicules comments by Steve Ballmer. Addressing the "Is it soup yet?" issue, this article includes a quote from Mr. Linux, Linus Torvalds (the nerd with the reputation to protect):

"Because the software is free, there is no pressure to release it before it is really ready just to achieve some sales target. Every version of Linux is declared to be finished only when it is actually finished, which explains why it is so solid. The other reason why free software is better is because the personal reputation of the developer is attached to every release."

In contrast, Microsoft makes huge profits on a new version of Windows. Whoever decides when a new version of Windows (currently Longhorn/Vista) is ready to ship, has a lot more on their plate than just bug fixes. No doubt, Microsoft defenders will cite the many months, if not years, that a new version of Windows is beta tested by thousands of people before it is released. It's not enough. Anyone who recalls the bragging done about stability when both Windows 2000 and XP were released must wince with the hundreds and hundreds of bug fixes both versions have required over the years.

Microsoft defenders may also note that Windows is a frequent target of attack by the bad guys just because it is so widely employed. True. But this just magnifies the fallout from any corners that may get cut on the way to releasing a new version of Windows.

He's Dead Jim

(August 2005) On the other end of the life cycle, just as a particular version of Windows gets reliable, and everyone gets used to its quirks and other software interfaces with it well, Microsoft walks away from it. Not enough profit in it.

I am not familiar with the retirement policies of the various Linux vendors regarding old versions of their Linux distributions. But at least there is choice in the Linux marketplace.

Supported Hardware Devices

While Linux itself runs on many more computers than Windows, when it comes to hardware peripherals, many work with Windows but not with Linux. The hardware vendors write drivers for Windows more often than they do for Linux. Market share and all that. Some hardware vendors will release technical specs so that someone in the Linux community can write a driver for the device, but other vendors aren't so open minded.

Everything isn't rosy in the Windows world however. When Windows XP was released, many existing peripherals would not work with it because XP required new drivers and the vendors had little motivation to write drivers for old hardware. The exact same scenario played out all over again when Vista was released. I think it's fair to say that hardware support was pretty lame when Vista was first released. This is not a knock on Microsoft.

The poor hardware support in Linux is drastically illustrated in an article by Fred Langa. He wrote about problems getting nine different Linux distributions (versions) to work correctly with two different sound cards (one real, one virtual) that all versions of Windows, even back to Windows 95, dealt with perfectly (see Linux's Achilles' Heel, Information Week magazine. April 19, 2004).

In Ten key differences between Linux and Windows (September 2008) Jack Wallen, a Linux devotee, about this: "One issue that is slowly becoming nonexistent is hardware support ... You can grab a PC (or laptop) and most likely get one or more Linux distributions to install and work nearly 100 percent. But there are still some exceptions; for instance, hibernate/suspend remains a problem with many laptops, although it has come a long way."

Hardware the OS runs on

Linux runs on many different hardware platforms, not so with Windows. For example, Windows NT used to run on MIPS CPUs until Microsoft changed their mind. It also used to run on Alpha CPUs, again, until Microsoft changed their mind. No one gets to change their mind with Linux. It runs on a very wide range of computers, from the lowest of the low to the highest of the high. The supported range of computers is all but stunning.

Because of its ability to run without a GUI, and thus need less hardware horsepower than Windows, Linux can run on very old personal computers such as 486 based machines. I took a Linux class where the server the students used was a 100 MHz Pentium. To get more mileage out of old hardware, Papa John's converted 2,900 pizzerias to Linux. On the high end, Linux runs natively on IBM mainframes (the Z series) and on other high end IBM servers. eBay runs their web site on Linux as does Google. IBM's family of "Blue Gene" supercomputers, used by Lawrence Livermore National Laboratory for nuclear weapons simulations, run Linux. NASA uses it on supercomputers that run space-shuttle simulations. On the small side, the iPodLinux Project created a version of Linux that runs on Apple iPods. NEC is working on Linux-based cell phones and Motorola is going to make Linux its primary operating system for smart cell phones. Debian Linux can run on on a computer the size of a deck of playing cards (100mm by 55mm) with an ARM cpu. In the home, Sony and Matsushita (parent company of Panasonic) will use Linux to build increasingly 'smart' microwave ovens, TVs and other consumer gizmos. Likewise MontaVista Software will release a version of its embedded Linux for use in consumer electronics devices. Web site linuxdevices.com seems to track this.

Clustering

Linux has an edge here. It has been used to make enormous clusters of computers. In October 2002, ComputerWorld magazine said: "Linux clusters provide supercomputer-type performance at a fraction of the expense." The same article reported that Merrill Lynch runs a cluster of 50 Linux computers. In March 2005, Forbes magazine reported that: "Linux now has become so technically powerful that it lays claim to a prestigious title--it runs more of the world's top supercomputers than any other operating system."(see Linux Rules Supercomputers by Daniel Lyons March 15, 2005).

Multiple Users

Linux is a multi-user system, Windows is not. That is, Windows is designed to be used by one person at a time. Databases running under Windows allow concurrent access by multiple users, but the Operating System itself is designed to deal with a single human being at a time. Linux, like all Unix variants, is designed to handle multiple concurrent users. Windows, of course, can run many programs concurrently, as can Linux. There is a multi-user version of Windows called Terminal Server but this is not the Windows pre-installed on personal computers.

Networking

They both do TCP/IP. Linux can do Windows networking, which means that a Linux computer can appear on a network of Windows computers and share its files and printers. Linux machines can participate on a Windows based network and vice versa. See Mixing Unix and Windows By Larry Seltzer (July 2002).

Hard Disk Partitions

Windows must be installed to and boot from a primary partition. There are a maximum of four primary partitions on a single hard disk (a computer with two hard disks can have eight primary partitions). Linux is better in this regard as it can be installed to and boot from either a primary partition or a logical partition. Logical partitions reside inside a special type of primary partition called an extended partition. There is no practical limit to the number of logical partitions that can exist on a single hard disk. Thus you can easily experiment with a dozen different Linux distributions by installing each one in a different logical partition.

Windows must boot from the first hard disk. Here too Linux is better, it can boot from any hard disk in the computer.

Swap Files

A swap file (a.k.a. page file) is used by the Operating System when the demands on RAM exceed the available capacity. Windows uses a hidden file for its swap file. By default, this file resides in the same partition as the OS, although you can put it in another partition, after Windows is installed. In Windows XP, the swap file resides initially on the C disk as a file called pagefile.sys. Linux likes to use a dedicated partition for its swap file, however advanced users can opt to implement the swap file as a file in the same partition as the OS. I'm not sure if this issue is clearly presented and explained when installing Linux. Probably not. Xandros v4, for example, may use a separate swap partition or not, depending on the partition environment it finds at install time. Xandros 4 does not explain any of this.

Updated August 2006: With Windows XP the default size of the swap file is 1.5 times the amount of RAM in the machine at the time Windows was installed. I don't know how Linux chooses a default swap file size. In Windows XP you can change the swap file size and location with Control Panel -> System Properties -> Advanced tab -> Performance Settings -> Advanced tab again -> Change button, which opens the Virtual Memory window. Be aware that this window violates user interface standards. It is the only window I know of where clicking the OK button after making a change, does not activate the change. To change the size of the page/swap file, you must click the Set button. I don't know how to change the size of a Linux swap file.

File Systems

Windows uses FAT12, FAT16, FAT32 and/or NTFS with NTFS almost always being the best choice. The FATx file systems are older and have assorted limitations on file and partition size that make them problematical in the current environment. Linux also has a number of its own native file systems. The default file system for Linux used to be ext2, now it is typically ext3. Other supported file systems includes XFS, JFS, JFFS and Reiser3. Reiser4 is in development.
(Added December 2008: The ext3 file system is being replaced by ext4. Among the improvements in ext4 is an increase in the maximum filesystem size from 16 terabytes in ext3 to one exabyte. The largest file in ext3 is 2 terabytes, in ext4 it is 16 terabytes. OpenSolaris includes ZFS which seems like a drastic change in file system design.

File systems can be either journaled or not. Non-journaled systems are subject to problems when stopped abruptly. All the FAT variants and ext2 are non-journaled. After a crash, they should be examined by their respective health check utilities (Scan Disk or Check Disk or fsck). In contrast, when a journaled file system is stopped abruptly, recovery is automatic at the next reboot. NTFS is journaled. Linux supports several journaled file systems: ext3, ext4, reiserfs and jfs.

All the file systems use directories and subdirectories. Windows separates directories with a back slash, Linux uses a normal forward slash. Windows file names are not case sensitive. Linux file names are. For example "abc" and " aBC" are different files in Linux, whereas in Windows it would refer to the same file. Case sensitivity has been a problem for this very web page, the name of which is " Linux.vs.Windows.html". At times, people have tried to get to this page using " linux.vs.windows.html" (all lower case) which resulted in a Page Not Found error. Eventually, I created a new web page with the name in all lower case and this new page simply re-directs you to the real page, the one you are reading now (with a capital L and W).

Fragmentation: (Added January 2008) Windows file systems all suffer from fragmentation, which results in a file being scattered all over the hard disk. I'm told that Linux file systems are much less prone to this, but I don't know the details and whether it applies to all or some of the Linux file systems. With classic magnetic platter based hard disks, fragmentation can be a big deal as the disk is much slower than the RAM or CPU and having to walk all over the hard disk to get a file slows things down. How this will play out on newer SSDs I don't know. While there is no waiting for spinning platters, SSDs have to deal with wear leveling, a feature designed to extend their limited lifespan. Speaking of fragmentation, I've heard very good things about Raxco's PerfectDisk for Windows.

Crossing Over: (Last Updated: June 2007) As for supporting each others file systems, Linux can read/write FAT16 and FAT32. When I first wrote this topic, only some Linux distributions could read NTFS partitions. Now more can both read and update NTFS, a feature critical to using Linux as a Rescue CD for a broken copy of Windows.

Captive-NTFS was "the first free NTFS read/write filesystem for GNU/Linux". It is no longer being maintained. In its place is the NTFS-3G Read/Write Driver which the website describes as "an open source, freely available read/write NTFS driver for Linux, FreeBSD, OS X, and NetBSD." NTFS-3G is fairly new, being considered stable only since February 2007. It can deal with the multiple versions of NTFS used by Windows XP, Windows Server 2003, Windows 2000 and Windows Vista. At least 85 distributions support NTFS-3G in some manner, among them: Ubuntu, Red Hat, Debian, Knoppix and Mandriva.

In September 2005, PC Magazine reviewed a product called NTFS for Linux from the Paragon Software Group that gives Linux read/write access to NTFS partitions. For more information on Linux and NTFS, see the Linux NTFS Project.

On its own, Windows can not read partitions formatted with any Linux file system. However, a number of products (I haven't tried any of them) enable this:

* Explore2fs by John Newbigin can be used to read Linux ext2 and ext3 partitions. Portable version
* Ext2Fsd claims to be an Ext2 File System Driver for Windows
* An open source project, the Ext2 File System Driver for Windows
* The free Linux Reader for Windows from Diskinternals can read the Ext2/Ext3 file systems (added September 2007) Portable version
* The Ext2 Installable File System For Windows is free and provides full read and write access to partitions and floppy disks formatted with either Ext2 or Ext3. It works with Windows NT4, 2000, XP and 2003. It's also referred to as Ext2 IFS for Windows. If you are running a NAS device, it may very well be storing files using the Ext2 or Ext3 file system.

File Hierarchy: Windows and Linux use different concepts for their file hierarchy. Windows uses a volume-based file hierarchy, Linux uses a unified scheme. Windows uses letters of the alphabet to represent different devices and different hard disk partitions. Under Windows, you need to know what volume (C:, D:,...) a file resides on to select it, the file's physical location is part of it's name. In Linux all directories are attached to the root directory, which is identified by a forward-slash, "/". For example, below are some second-level directories:
/bin/ ---- system binaries, user programs with normal user permissions
/sbin --- executables that need root permission
/data/ --- a user defined directory
/dev/ ---- system device tree
/etc/ ---- system configuration
/home/ --- users' subdirectories
/home/{username} akin to the Windows My Documents folder
/tmp/ ---- system temporary files
/usr/ ---- applications software
/usr/bin - executables for programs with user permission
/var/ ---- system variables
/lib --- libraries needed for installed programs to run

Every device and hard disk partition is represented in the Linux file system as a subdirectory of the lone root directory. For example, the floppy disk drive in Linux might be /etc/floppy. The root directory lives in the root partition, but other directories (and the devices they represent) can reside anywhere. Removable devices and hard disk partitions other than the root are attached (i.e., "mounted") to subdirectories in the directory tree. This is done either at system initialization or in response to a mount command.

There are no standards in Linux for which subdirectories are used for which devices. This contrasts with Windows where the A disk is always the floppy drive and the C disk is almost always the boot partition.

Hidden Files: Both support the concept of hidden files, which are files that, by default, are not shown to the user when listing files in a directory. Linux implements this with a filename that starts with a period. Windows tracks this as a file attribute in the file metadata (along with things like the last update date). In both OSs the user can over-ride the default behavior and force the system to list hidden files.

Case: Case sensitivity is the same with commands as with file names. When entering commands in a DOS/command window under any version of Windows, "dir" is the same as "DIR". In Linux "dir" is a different command than "DIR".

Modems

To save money, many internal modems do not include their own processor, instead they rely on the main cpu in the computer for their processing needs. These cheap modems are referred to as "winmodems" because they typically include low level calls to the Windows operating system that can not be replicated in Linux. For the most part, winmodems will not work under Linux. If you need to run a winmodem under Linux see Linmodems.org and www.linuxant.com/drivers.

Scripting

Windows started with BAT files (a combination of OS commands and optionally its own language) and then progressed to Windows Scripting Host (WSH) which supports two languages, JavaScript and VB Script. Windows also has WMI, the Windows Management Interface which makes many functions available to scripts. The lastest scripting engine from Microsoft is Windows PowerShell (originally called Monad). The first release (excluding Betas) was November 2006. PowerShell requires version 2.0 of the Microsoft .NET Framework and runs only under Windows XP, Vista and Server 2003.(Updated May 2007)

Linux, like all Unix variants, provides multiple scripting languages, referred to as shell scripts. Among them are the Bourne shell, the C shell, Perl, Python and Ruby. I have used the first three, but not Python and Ruby. I find the Linux scripting languages cruder than WSH but much more powerful than BAT files. They tend to use special characters instead of English commands and don't support objects (this only matters to programmers).

One scripting language that can run on both Linux and Windows is PHP. It always has to be installed under Windows, it may have to be installed under Linux. PHP is typically found running on Linux based web servers in combination with Apache, but it is capable of running "client side" (on your computer).

(The below was added May 2007)
There is a philosophy to scripting and starting with PowerShell Microsoft has changed theirs, to follow/copy that of Linux. The issue I'm referring to is the main interface to the operating system.

On Linux/Unix the scripts are the main interface to the system and any GUI is built on top of the scripts. Thus a Linux system can have multiple GUIs to accomplish the same thing as they all end up calling the script interface anyway. You can even run Linux without any GUI at all.

Windows has always been locked into and keyed off its GUI interface. Scripting was an after-thought. With the introduction of PowerShell, Microsoft says it will adopt the Linux way, making the script inteface the main one. This should mean that anything and everything can be scripted. We'll see.

Printer Drivers

Every computer printer ships with drivers for last last few versions of Windows (at the time it was manufactured). Running the printer on a very old or too new version of Windows may or may not work. Still, this a far better situation than with Linux which does not support as many printers as Windows. In an environment with many Linux users, shared network printers a tech support staff, this should not be an issue as you can limit yourself to well supported printers. Home users of Linux however, will no doubt suffer from the relatively poor support for printers. Stephen Manes wrote in Forbes magazine (October 2002) that "Linux printer drivers tend to handle the simplest of printing functions and leave out the rest".

Help

Stephen Manes wrote in Forbes magazine (October 28, 2002) that Linux "Help screens often omit everything but the most rudimentary information and the most arcane." For commands, both OSs offer help on the syntax and options of individual commands, providing you know the command. In Linux it is often done by appending --help or -h to the command. In Windows it's often done by appending /? to the command.

Owing to it's command line history, Linux also offers help via the man (short for manual) and info commands. The man documentation for the ls command, for example, is referred to as the man page for ls. From the Linux command line you can search the man database with "man -k somestring" which produces a list of manual pages containing "somestring".

Windows offers help in the GUI interface for the GUI interface. On the Linux side, both KDE and Gnome also have built-in help about using themselves. I'm told that the Windows help is better for newcomers (nerds hate writing documentation, especially on an introductory level, and Linux is done by volunteers).

User Data

Windows allows programs to store user information (files and settings) anywhere. This makes it impossibly hard to backup user data files and settings and to switch to a new computer. In contrast, Linux stores all user data in the home directory making it much easier to migrate from an old computer to a new one. If home directories are segregated in their own partition, you can even upgrade from one version of Linux to another without having to migrate user data and settings.

Shutting Down

Both have to be told to shut down and for the same reason, to quiesce in-flight activity in an orderly manner. You shut down Windows thru the Start button, then select Shutdown. In both the KDE and Gnome GUIs for Linux, you shut the system down by first logging out (equivalent to logging off in Windows). In Gnome, you select the Halt option, in KDE, the shutdown option. Linux can also be shut down from a command prompt using the shutdown command which can either shut the system down immediately or be told to shut it down at some time in the future. Windows XP also has a shutdown command, earlier versions of Windows did not

(Updated December 2005) The scheduler built into Windows XP is not able to schedule programs to run at shutdown time. I find this annoying, because its an excellent time to schedule backups. Linux can schedule programs to run automatically at shutdown time. I haven't tried this but a quick glance at How Linux boots makes it seem complicated. I'm told to follow the instructions in this article but replace runlevel 5 with runlevel zero, which represents shutdown time.

Odds and Ends

Both Windows and Linux have desktop shortcuts to applications. Linux even has the equivalent of the quick launch toolbar, a favorite feature of mine. In Ubuntu, add a shortcut to the panel at the top of the screen with: right-click an empty area of the panel, choose Add to Panel, select the program you want to add, click the Add button.(added March 2008)

According to ComputerWorld blogger Steven J. Vaughan-Nichols, "Linux needs to do a much better job of managing power. With more and more of us doing our work on laptops, netbooks, and the like, getting the most out of battery life is becoming increasingly important... To really get the most from a battery requires power-aware device drivers, power-aware applications and fine granular control over each component in a system. Linux has miles to go before it can equal Macs or even Windows in this area."

Updating Software

This is a big topic that I should have added long ago. I haven't used Linux enough to form my own an opinion on this from the Linux side, so I present the opinions of others. In Windows, while each program has its own custom built installation procedure they very often follow the same pattern. In Linux, each program is installed in a standard way, but there are way too many standards. The software that installs everything in Linux is called a package manager.

There are way too many package managers. Ubuntu Linux, for example, has three. What's the difference between them? Ubuntu offers no help. The Advanced Packaging Tool (apt-get) is used by Debian, Ubuntu, gOS, Linux Mint and Knoppix. YUM is used by Fedora and CentOS. OpenSUSE uses YaST. Gentoo uses Portage. Mandriva uses urpmi. and there's also Synaptic and PackageKit.

From the January 2009 article A Beginner's Guide on How to Install Linux Software: "There are several different types of installation files for Ubuntu, and few of them are as easy to install as the EXE installation files found on Windows. If you need to download an application to your system that is not found in Add/Remove Applications, then you will find yourself with one of several different types of files: .deb, .rpm, .bin, .tar.gz, INSTALL, .sh, etc. These different files all have a different method of execution." The article explains how to deal with these types of files to install software.

Computerworld blogger Steven J. Vaughan-Nichols is pro-Linux. Yet, he admits that new Linux users will be thrown for a loop when they first try to install software. In February 2009 he said "When we live with any technology, we start taking for granted knowledge that we have that's a foreign language to others. So, while package manager programs ... make installing software easy, they don't give new Linux users much of a clue what it is they're installing." He also wrote Linux software installation myths in November 2008.

Jack Wallen is a Linux enthusiast who wrote the following in September 2008: "With Linux you have (with nearly every distribution) a centralized location where you can search for, add or remove software. I'm talking about package management systems, such as Synaptic. With Synaptic, you can open up one tool, search for an application (or group of applications), and install that application without having to do any web searching (or purchasing). Windows has nothing like this. With Windows, you must know where to find the software you want to install ... For many years, it was thought that installing applications on Windows was far easier than on Linux. And for many years, that thought was right on target. Not so much now. Installation under Linux is simple, painless and centralized."

Ed Bott is a Windows enthusiast. In July 2008 he wrote about this: Windows Update vs. Ubuntu Update.

11 Linux-only Things

This is a summary of an article by Dan Martin called Things I can do in Linux that I can't do on Windows from March 3, 2007. (added September 2007)

The first item on his list strikes me as very important - you can update "every single piece of software on my system with a single action." Windows and Microsoft Update only do a handful of Microsoft applications. With Linux, the OS updater application handles software from other companies too. Huge plus for Linux. Huge.

An interesting point was the ability to "Run Internet Explorer 5.0, 5.5, 6.0, and 7.0 on the same desktop" using software called IEs4Linux. Other points included the fact that most updates don't require a re-boot, Linux has a lesser need for anti-malware software and the ability to take "settings" with you when traveling.

Overall, Mr. Martin is very biased. For example, with portable applications, Windows users can carry entire applications with them with traveling. He also brags that Linux users can understand everything going on inside their computer, but, he doesn't offer software for doing this. Windows users have the excellent Process Explorer program which shows tons of information about what's going on under the hood. Process Explorer is a great program. Finally, some items on his list strike me as un-important.

March 10, 2008: Here's another Linux only thing, the ability to keep an application's window on top of other windows. From CNET blogger Dennis O'Reilly: "A nice feature of Ubuntu that Windows lacks (unless you tweak the Registry or download a separate always-on-top utility) is the ability to keep a window on top of all others. Just right-click the bar along the top of the window, and select Always on Top from the drop-down menu." According to reader comments this is really a GNOME thing, rather than an Ubuntu thing.

Choosing Linux vs. Windows

When this page was created XP was the current version of Windows. Now it is Vista. I mention this because many people find the Vista experience stinks. It is expensive, buggy, slow and suffers from both hardware and software incompatibilities. There seems to be a growing backlash against Vista, which is changing this topic of choosing Linux vs. Windows.

Some Windows people (the smart ones in my opinion) are opting to stick with XP and avoid Vista. Dell initially converted all their new consumer machines from XP to Vista, although they and others always sold business targeted machines with XP. Responding to consumer demand (businesses were not going to use Vista for a long time anyway), Dell backtracked in April 2007 and re-introduced new consumer machines with XP pre-installed. Heresy. Microsoft could not have been happy.

And then ... along came Linux. In May 2007 Dell announced they would start to offer consumer machines with Ubuntu Linux vesion 7.04 pre-installed. You have to wonder if Vista is driving people to Linux. Oh, and Michael Dell runs Ubuntu Linux on a computer at his home (April 18, 2007).

Martin Ultima, the person behind the Ultima Linux distribution, does not see a future for Linux on desktop computers. His reasons: video drivers are too hard to set up, many distributions omit Flash, a working media player, 3D graphics and some fonts, there are too many distributions, software development on Linux is "painful", poor support for WiFi, printers and other hardware, and poor OS documentation. He also points out the 12 years after Windows introduced CD auto-mounting, it is just starting to appear in mainstream Linux distributions. (paragraph added July 20, 2007)

On the Personal Computer show in December 2003 John C. Dvorak predicted a bright future for Linux. His main points being: it's free, the applications are getting more mainstream, Open Office is a "fabulous" product, the GUI is pretty much like Windows, it's high quality, bullet proof and resistant to the thousands of Windows viruses and worms. If he owned a company with thousands of PCs, he would put everyone on Linux.

To date the only organizations (that I've heard about) using hundreds or thousands of Linux based computers are government agencies in countries all over the world. They may be driven by cost and/or security concerns (practically speaking there are no Linux viruses). Some countries also may not like being beholden to a U.S. based company for so much of their software.

See More Balls Through Windows from The Economist April 20, 2004 on cfo.com. Is Microsoft finally about to face real competition in desktop-computer software? This article raises a point I agree with. The next version of Windows, the one that will replace XP, is not going to be delivered for a long time opening up a window of opportunity for Linux. In addition, the upcoming version of Windows is likely to be expensive and require new hardware, two other areas where Linux competes well. It may also involve too many changes. By the time it's delivered, more and more Linux distributions will look more like Windows, just as Microsoft rolls out a new user interface. People accustomed to the current Windows UI may resist the change.

However, Microsoft fights the spread of Linux at all costs. For example, when Thailand was going to make government subsidized Linux based computers available throughout the country, Microsoft cut a deal with the Thai Information, Communication and Technology Ministry. People in Thailand can buy Windows XP and Office XP (without Outlook) pre-installed, activated, and ready to run for the equivalent of $37 US dollars. See Microsoft offers cut-rate Windows from CNET News.com February 9, 2004. Then again, the governments of China, Japan and South Korea are teaming up to create their own Asian flavor of Linux.

My 2 Cents

The above are facts, to the best of my knowledge, not opinion.
This is opinion.

Will Linux spread to the point of becoming a serious competitor to Windows on the desktop? No. And this has nothing to do with which is better, no matter how you judge "better".

Consider the keyboard in front of you. The key arrangement was made long ago when keeping the metal wires connected to the keys from hitting each other was the big consideration. Now that that no longer applies, does anybody switch over to a keyboard with a better design? No. All of us who know how to type, are used to the current arrangement of keys. Switching to a new layout would be a major disruption and thus have to pay back in a major way. I don't think desktop versions of Linux will pay back enough to encourage people to switch. My Linux experience is not extensive, but coming to it with a Windows background, as most people will, it is often frustrating to figure out how to do ordinary everyday things.

Servers are another story. So too are call centers and other single-use environments where Linux makes a lot of sense.

This post at http://www.michaelhorowitz.com

Read More... Read more...

About This Blog

Check Page Rank of any web site pages instantly:
This free page rank checking tool is powered by Page Rank Checker service

Visitor

Blogging by 4visited  © 2015

Back to TOP