About Spyware

Spyware
Spyware is software that gathers information about a user, usually without their knowledge or informed consent, and then passes this data to others.
As with computer viruses it comes in various forms but, in contrast, much of what is commonly referred to as spyware is currently perfectly legal.

The information it gathers is used by companies to target users with tailored advertising, interrupt their online experience with annoying pop-up windows and bombard them with unwanted emails promoting products and services.
While most of us wouldn't worry too much about something that tracks the websites we use, other spyware can record highly sensitive personal information such as passwords and credit card numbers.

This is far more worrying, especially for the millions of us who use online shopping and banking services.

About computer viruses

What is a computer virus?

A computer virus is a small software program that spreads from one computer to another computer and that interferes with computer operation. A computer virus may corrupt or delete data on a computer, use an e-mail program to spread the virus to other computers, or even delete everything on the hard disk. Computer viruses are most easily spread by attachments in e-mail messages or by instant messaging messages. Therefore, you must never open an e-mail attachment unless you know who sent the message or unless you are expecting the e-mail attachment. Computer viruses can be disguised as attachments of funny images, greeting cards, or audio and video files. Computer viruses also spread by using downloads on the Internet. Computer viruses can be hidden in pirated software or in other files or programs that you may download.

Symptoms of a computer virus

If you suspect or confirm that your computer is infected with a computer virus, obtain the current antivirus software. The following are some primary indicators that a computer may be infected:

The computer runs slower than usual.

The computer stops responding, or it locks up frequently.

The computer crashes, and then it restarts every few minutes.

The computer restarts on its own. Additionally, the computer does not run as usual.

Applications on the computer do not work correctly.

Disks or disk drives are inaccessible.

You cannot print items correctly.

You see unusual error messages.

You see distorted menus and dialog boxes.

There is a double extension on an attachment that you recently opened, such as a .jpg, .vbs, .gif, or .exe. extension.

An antivirus program is disabled for no reason. Additionally, the antivirus program cannot be restarted.

An antivirus program cannot be installed on the computer, or the antivirus program will not run.

New icons appear on the desktop that you did not put there, or the icons are not associated with any recently installed programs.

Strange sounds or music plays from the speakers unexpectedly.

A program disappears from the computer even though you did not intentionally remove the program.Note These are common signs of infection. However, these signs may also be caused by hardware or software problems that have nothing to do with a computer virus. Unless you run the Microsoft Malicious Software Removal Tool, and then you install industry-standard, up-to-date antivirus software on your computer, you cannot be certain whether a computer is infected with a computer virus or not.

Symptoms of worms and trojan horse viruses in e-mail messages

When a computer virus infects e-mail messages or infects other files on a computer, you may notice the following symptoms:

The infected file may make copies of itself. This behavior may use up all the free space on the hard disk.

A copy of the infected file may be sent to all the addresses in an e-mail address list.

The computer virus may reformat the hard disk. This behavior will delete files and programs.

The computer virus may install hidden programs, such as pirated software. This pirated software may then be distributed and sold from the computer.

The computer virus may reduce security. This could enable intruders to remotely access the computer or the network.

You receive an e-mail message that has a strange attachment. When you open the attachment, dialog boxes appear, or a sudden degradation in system performance occurs.

Someone tells you that they have recently received e-mail messages from you that contained attached files that you did not send. The files that are attached to the e-mail messages have extensions such as .exe, .bat, .scr, and .vbs extensions.

Symptoms that may be the result of ordinary Windows functions
loadTOCNode(2, 'moreinformation');
A computer virus infection may cause the following problems:

Windows does not start even though you have not made any system changes or even though you have not installed or removed any programs.

There is frequent modem activity. If you have an external modem, you may notice the lights blinking frequently when the modem is not being used. You may be unknowingly supplying pirated software.

Windows does not start because certain important system files are missing. Additionally, you receive an error message that lists the missing files.

The computer sometimes starts as expected. However, at other times, the computer stops responding before the desktop icons and the taskbar appear.

The computer runs very slowly. Additionally, the computer takes longer than expected to start.

You receive out-of-memory error messages even though the computer has sufficient RAM.

New programs are installed incorrectly.

Windows spontaneously restarts unexpectedly.

Programs that used to run stop responding frequently. Even if you remove and reinstall the programs, the issue continues to occur.

A disk utility such as Scandisk reports multiple serious disk errors.

A partition disappears.

The computer always stops responding when you try to use Microsoft Office products.

You cannot start Windows Task Manager.

Antivirus software indicates that a computer virus is present.Note These problems may also occur because of ordinary Windows functions or problems in Windows that are not caused by a computer virus.

How to remove a computer virus
loadTOCNode(2, 'moreinformation');
Even for an expert, removing a computer virus can be a difficult task without the help of computer virus removal tools. Some computer viruses and other unwanted software, such as spyware, even reinstall themselves after the viruses have been detected and removed. Fortunately, by updating the computer and by using antivirus tools, you can help permanently remove unwanted software. To remove a computer virus, follow these steps:
1.Install the latest updates from Microsoft Update on the computer.
2.Update the antivirus software on the computer. Then, perform a thorough scan of the computer by using the antivirus software.
3.Download, install, and then run Removal Tool to remove existing viruses on the computer. To download the Malicious Software Removal Tool
How to protect your computer against viruses
To protect your computer against viruses, follow these steps:
1.On the computer, turn on the firewall.
2.Keep the computer operating system up-to-date.
3.Use updated antivirus software on the computer.
4.Use updated antispyware software on the computer.

Tips to be agood programmer

Want to be a good programmer ?
If so, follow these programming practices and guidelines:
1) Never write a line of code that someone else can understand.
2) Make the simplest line of code appear complex. Use long counter intuitive names. Don't ever code "a=b", rather do something like this : AlphaNodeSemaphore=*(int)(&(unsigned long)(BetaFrameNodeFarm));
3) Type fast, think slow.
4) Never use direct references to anything ever. Bury everything in macros. Bury the macros in include files. Reference those include files indirectly from other include files. Use macros to reference those include files.
5) Never include a comment that will help someone else understand your code. If they understand it, they don't need you.
6) Never generate new sources. Always ifdef the old ones. Every binary in the world should be generated from the same sources.
7) Never archive all the sources necessary to build a binary. Always hide on our own disk. If they can build your binary, they don't need you.
8) Never code a function to return a value. All functions must return a pointer to a structure which contains a pointer to a value.
9) Never discuss things in concrete terms. Always speak in abstract. If they can understand you, they don't need you.
10) Never complete a project on time. If you do, they will think it was easy and anyone can do it and they don't need you.
11) When someone stops by your office to ask a question, talk forever, but don't answer the question. If they get their questions answered, they don't need you.
12) Load all sentences either written or spoken with alphabet soup. When someone asks you out to lunch, reply: "I can't because I've almost got my RISC-based OSI/TCP/IP client connected by BIBUS VMS VAX using SMTP over TCP sending SNMP inquiry results to be encapsulated in UDP packets for transmission to a SUN 4/280 NFS 4.3 BSD with release 3.6 of RPC/XDR supporting our ONC effort working."
13) Never clean your office. Absolutely never throw away an old listing.
14) Never say hello to someone in the hallway. Absolutely never address someone by name. If you must address someone by name, mumble or use the wrong name. Always maintain the mystique of being spaced out from concentrating on complex logic.
15) Never wear a shirt that matches your pants. Wear a wrinkled shirt whenever possible. Your shirt must never be tucked in completely. Button the top button without wearing a tie. This will maximize your mystique.

About programming language


About programming language



A programming language is a stylized communication technique intended to
be
used for controlling the behavior of a machine (often a computer).
Like human languages programming languages have syntactic and semantic
rules used to define meaning.


Thousands of different programming languages have been created and
new ones are created every year. (see list of programming languages).
Few languages ever become sufficiently popular that they are used by
more than a few people, but professional programmers are likely to use
dozens of different languages during their career.



Definitions of programming language



There is no universally agreed definition for the term programming
language. The following is a list of some of the methods that have been
used to categorize a language as being a programming language.



  • What it is used for. For instance, a programming language is a
    language used to write programs.

  • Those involved in the interaction. For instance, a programming
    language differs from natural languages in that natural languages
    are used for interaction between people, while programming languages
    are used for communication from people to machines (this rules out
    languages used for computer to computer interaction).

  • The constructs it contains. For instance, a programming language
    contains constructs for defining and manipulating data structures,
    and for controlling the flow of execution.

  • Its expressive power. The theory of computation provides a
    classification of languages based on the range of computations
    expressible by them, with the most expressive language being one
    that is Turing complete (the language needs to contain at least a
    looping construct and a method of storing values, ie, variables).
    Any program that can be written in a language that is Turing
    complete can also be written in another language that is Turing
    complete. Some examples of languages that are not Turing complete
    are pure HTML (the use of embedded PHP or Javascript makes it Turing
    complete) and SQL (SQL vendors invariably add language extensions
    that create a Turing complete language, e.g., PL/SQL).


Features of a Programming Language



Each programming language can be thought of as a set of formal
specifications concerning syntax, vocabulary, and meaning.


These specifications usually include:



  • Type system
  • Data structures
  • Instruction and control flow
  • Design philosophy
  • Compilation and interpretation


Those languages that are widely used – or have been used for a
considerable period of time – have standardization bodies that meet
regularly to create and publish formal definitions of the language and
discuss the extension of existing definitions.


History of programming languages


The development of programming languages follows closely the
development of the physical and electronic processes used in today's
computers.


Programming languages have been under development for years and will
remain so for many years to come. They got their start with a list of
steps to wire a computer to perform a task. These steps eventually found
their way into software and began to acquire newer and better features.
The first major languages were characterized by the simple fact that
they were intended for one purpose and one purpose only, while the
languages of today are differentiated by the way they are programmed in,
as they can be used for almost any purpose. And perhaps the languages of
tomorrow will be more natural with the invention of quantum and
biological computers.


Charles Babbage is often credited with designing the first
computer-like machines, which had several programs written for them (in
the equivalent of assembly language) by Ada Lovelace.


In the 1940s the first recognizably modern, electrically powered
computers were created. Some military calculation needs were a driving
force in early computer development, such as encryption, decryption,
trajectory calculation and massive number crunching needed in the
development of atomic bombs. At that time, computers were extremely
large, slow and expensive: advances in electronic technology in the
post-war years led to the construction of more practical electronic
computers. At that time only Konrad Zuse imagined the use of a
programming language (developed eventually as Plankalkül) like those of
today for solving problems.



Subsequent breakthroughs in electronic technology (transistors,
integrated circuits, and chips) drove the development of increasingly
reliable and more usable computers. The first widely used high-level
programming language was FORTRAN, developed during 1954–57 by an IBM
team led by John W. Backus. It is still widely used for numerical work,
with the latest international standard released in 2004. A Computer
Languages History graphic shows a timeline from FORTRAN in 1954.


Shortly after, Lisp was introduced. Lisp was based on lambda
calculus, and is far more regular in its syntax than most non-Lisp
derived languages.


Dennis Ritchie developed the C programming language, initially for
DEC PDP-11 in 1970.


During the 1970s, Xerox PARC developed Smalltalk, an object oriented
language.


Based on the development of Smalltalk and other object oriented
languages, Bjarne Stroustrup developed a programming language based on
the syntax of C, called C++ in 1985.


Sun Microsystems released Java in 1995 which became very popular as
an introductory programming language taught in universities. Microsoft
presented the C# programming language in 2001 which is very similar to
C++ and Java. There are many, many other languages


Object-oriented programming language


An object-oriented programming language (also called an OO language)
is one that allows or encourages, to some degree, object-oriented
programming methods.


Simula (1967) is generally accepted as the first language to have the
primary features of an object-oriented language. It was created for
making simulation programs, in which what came to be called objects were
the most important information representation. Smalltalk (1972 to 1980)
is arguably the canonical example, and the one with which much of the
theory of object-oriented programming was developed.


OO languages can be grouped into several broad classes, determined by
the extent to which they support all features and functionality of
object-orientation and objects: classes, methods, polymorphism,
inheritance, and reusability.



  • Languages called "pure" OO languages, because everything
    in them is treated consistently as an object, from primitives such
    as characters and punctuation, all the way up to whole classes,
    prototypes, blocks, modules, etc. They were designed specifically to
    facilitate, even enforce, OO methods. Examples: Smalltalk, Eiffel,
    Ruby.

  • Languages designed mainly for OO programming, but with some
    procedural elements. Examples: Java, Python.

  • Languages that are historically procedural languages, but have
    been extended with some OO features. Examples: C++, Fortran 2003,
    Perl.

  • Languages with most of the features of objects (classes, methods,
    inheritance, reusability), but in a distinctly original, even
    elegant, form. Examples: Oberon, and successor Oberon-2.

  • Languages with abstract data type support, but not all features of
    object-orientation, sometimes called object-based languages.
    Examples: Modula-2 (with excellent encapsulation and information
    hiding), Pliant.


Inheritance and polymorphism are usually used to reduce code bloat.
Abstraction and encapsulation are used to increase code clarity, quite
independent of the other two traits. [Source: Compiled from Wikipedia]


Links to Programming Languages



Essentials of Programming Languages: The goal of this book is to give students a deep, hands-on understanding of the essential concepts of programming languages, using Scheme as an executable
metalanguage. Because Scheme is a wide-spectrum language, it enables us to write both at the very high level needed to produce a concise, comprehensible interpreter and at the much lower level needed to understand how that interpreter might be coded in assembly language, or transformed into a compiler.


Resources for Programming Language Research:
A collection of information and resources for research in programming language
theory, design, implementation, and related areas. Additions and corrections are
welcome!


Visual Language Research Bibliography:
This page is a structured bibliography of papers pertaining to visual language (VL)
research. It also contains a brief list of links to other, related resources
about visual language research.


Programming Languages:
Topics within this page: Object-Oriented Languages, Documentation Generator
Tools, Functional Languages, Free Implementations, Logic Programming Languages,
Language Design Issues/Mistakes, Text Formatting Languages (TeX,HTML).


Dictionary of Programming Languages:
Welcome to the Dictionary of Programming Languages, a compendium of computer
coding methods assembled to provide information and aid your appreciation for
computer science history. The dictionary currently has over 120 entries.


THE Language List:
The largest and most comprehensive list on the net by the CUI group at
University of Geneva and Bill Kinnersley, with good search capability, and
links to FTP sites for compilers and tools. Some of the links on the list may be
outdated.


The Random Programming Languages List:
Have you ever programmed something just for fun? Written a program just for the
challenge of writing it? Have you ever wondered whether there are languages that
are more fun than C? Have you ever wondered what life would be like without our
nifty tools? If so, this is the page for you. It might be the page for you even
if you didn't answer yes, but it is definitely the page for you if you did.


Programming Languages: Every
serious student of computing should be familiar with a range of different
languages (for example, I used a mixture of C, C++, Delphi, JavaScript, Perl and
Tcl/Tk to create this CD). This collection includes compilers and other
resources for a wide variety of programming languages, including conventional
procedural languages, object-oriented languages, functional languages, logic
programming languages, scripting languages, and some just plain weird languages.
You can choose which are which!


Review of Programming Languages:
When Tunes is ready, this page will be made a query-driven database (with
standard query forms) where languages/implementations couples will be classified
upon the characteristics below. Meanwhile, please forgive the bad quality of
this page, and think about enhancing it by your contributions.


Google Directory - Programming Languages:
The content of the Google directory is based on the Open Directory and is
enhanced using Google's own technology.




10 things you should know about every Linux installation




10 things you should know about every Linux installation


Here are the 10 things to know:


1. File hierarchy Unlike some other OS's that have a file tree for each drive, the Linux file system is one big tree. At the top you have / (Root) and every folder, file, and drive branches off of this Root.
For example, say that you have two hard drives (named a and b), one floppy drive, and one CD-ROM. Let's say that the first hard drive has two partitions (named a1 and a2). In Windows, it would look like this:+ hard drive a, partition one (hda1): C Drive+ hda2: D Drive+ hdb1: E Drive+ floppy: A drive+ CD-ROM: F Drive
In Linux, you have one file system, not the five listed in the Windows example. Each drive is mounted onto the tree and acts just like a folder. The drives could be placed like this:+ hda1: / (our Root)+ hda2: /home+ hdb1: /home/user/music+ floppy: /mnt/floppy+ CD-ROM: /mnt/cdrom
Our D Drive and E Drive are attached within our C Drive and there is no need to go to the top to switch drives; the switching happens seamlessly as we move from one folder to another. The same is true with our Floppy and CD-ROM: they are just attached under /mnt as part of the one file system. These drives, in reality, can be attached almost anywhere in a Linux system, depending on how the installation (or user) set up the /etc/fstab file, which tells the computer where things get attached and how to handle them. See Figure A.
Figure A





File structure




2. Modular system Think about the guts of Windows XP, Win2k, Win98, Win95, and Apple OS X. Each has different components inside and a different graphical look. What if you wanted the Media Player in XP, the File Manager in 98, the stability of Win2k, and the look of OS X all in one unit? In Linux, each aspect of the system is independent, so you can mix and match parts to make your very own Frankenstein OS. You can choose from a variety of programs to run as your firewall, another to play media, yet another to run your File Manager.
Unlike the "tower" OS's from Microsoft, where everything is interconnected and depends on each aspect of the system, the Linux OS is spread out like a Market: everything works together for the common good, but vendors (independent parts of the OS) can be excluded, and the OS will still function. Don't want a Media Player or File Manager? Take it out! Your OS will not fall like a broken tower.
This modularity is the reason for so many distributions of Linux (commonly called distros); any person or company can mix and match the programs they find most useful and slap a name on that collection. RedHat, Xandros, SimplyMEPIS, and Suse are all examples of distros.
Some of the larger distros have copycats that use their settings, but change the included programs. This is the Linux way, and the mix-and-match approach gives users more choice in the long run. DistroWatch.com currently lists over 350 distributions of Linux. Many on the list are specialised to serve a specific group of people, but all can be altered to run the same programs.
Because programs are interchangeable, the Graphical User Interface (GUI) is no exception. GUI's give you the look and feel of a modern OS with the mouse, program icons, menus, etc. Any Linux system (well, one that is running on a real computer, not a phone) can run one of many different GUI's, just like it can run many web browsers or different email client programs.
Want your system to look like Windows? Use FVWM with the XP theme. Want it to be fast? Try IceWM. Want it to be more "full featured"?; try GNOME or KDE. All of these GUI's have benefits and drawbacks, but they all present the user with an interface that can be manipulated with a mouse. Although this may result in every Linux screen looking different, all of the GUI's are still doing the same behind-the-scenes work for you; just use your eyes and often it is not hard at all.



3. Hardware, software, and everything in between Linux has come a long way in the few short years of its existence. It is less than half the age of Microsoft Windows, and yet it is more powerful, more stable, less resource-hungry, and graphically equal (if not superior) to this costly, buggy OS from Redmond.
One thing that Linux doesn't yet have going for it is vendor support. If you really like Intuit's QuickBooks, for example, you cannot natively run it in Linux. There are projects to make Windows programs run in Linux, such as CrossOver Office and Wine, but these work with varying success, depending on the Windows program. Until software companies decide to port their programs to Linux, you will not be able to run them natively.
Not all is lost, however. Open Source software has upward of 15,000 of programs that run natively in Linux. Because these programs are (usually) free of charge, they vary in quality, but the majority of programs are wonderfully written and constantly improved. These programs can import and export non-native file types as well. GNUCash can read those Quickbooks files just fine, and OpenOffice.org can read MSWord *.doc files. If you dislike GNUCash, don't despair. There are other similar programs also available for free, and more and more software companies are releasing Linux versions of their software.
These same issues apply to hardware. Just as you cannot expect just any piece of hardware off the shelf to work with an Apple computer, the same can be said for Linux machines. Most standard hardware works perfectly; hard drives, RAM, flash drives, motherboards, NIC's, and digital cameras usually have little trouble under Linux. Newer, cutting edge hardware is a different story. Until hardware vendors choose to support Linux, the drivers needed to work these pieces of hardware must be written by the Linux community for free and in the community members' spare time.
Therefore, there is a lag behind Windows support since hardware companies often work directly with Microsoft to ensure compatibility, and tend to let Linux volunteers figure out the Linux hardware support on their own. Laptops are notorious for their non-standard hardware; it can be a challenge to map special keys in Linux. The good news here is that vendor support for Linux hardware, like software, is changing for the better as more and more companies see their future in Linux.
Everything in between the hardware and the software in a Linux machine is the kernel. This kernel is what connects the hardware to the software, and an updated kernel is made available via Internet every few weeks; the most current is 2.6.14. If you have hardware that isn't currently supported, there is a chance that a newer kernel could help you out. Installing this kernel yourself isn't always easy, however; that's where Package Managers come into play.



4. Package Managers - Program installation made easy(er) There are many ways to install programs in Linux, but the easiest is with your distribution's Package Manager (PM). The PM makes sure that any missing files (called dependencies) are also installed so the program runs correctly. Choosing a distribution often comes down to which type of PM you like, but any Linux software can be installed on different distributions if you can find the corresponding Package.
These PM's usually have an on-line repository for their programs. Installing an application is as easy as searching through the program repository and clicking Install. Can't find IceWM or MPlayer in your Package Manager's list? There is always a way to add a new on-line repository that will have what you are looking for. Some examples of Package Managers include Synaptic (based on dpkg and Apt) for Debian (and derivatives); Yum for RedHat (and derivatives); YaST2 for SuSE (and derivatives); and Emerge for Gentoo.



5. Permissions Linux is designed to have multiple users, and these users fall into groups. Every user has permissions to read, write, or execute (R/W/X) their own files, and permission to change those permissions. Because Linux is designed for multiple users, each user has their own password and may restrict access to their files. These are called User Permissions.
Each user belongs to one or more groups, and a user can set their file/folder permissions so that others in the group can read but not write the files, or any other combination of R/W/X. These are Group permissions. For example, Joe and Susan are both in Accounting. They can allow the Accounting group access to each other's files, but they can restrict that access from those in the Sales group.
The Others permissions can allow or deny access to these files for anyone outside the Group. These permissions are for the safety of the overall system, as well as for each user's data. Most home users are fine to leave the default permissions alone on their files. (See Figure B)
Figure B




Permissions
The Root user (not to be confused with the / Root of a file system), as the Administrator, has rights to all files and is the only user who can alter system-wide settings. The Root user has their own password, which is used for system maintenance. This distinction prevents a regular user from installing harmful spy ware on the system or deleting important files.



6. Home directory Windows has My Documents, but where do you put files that aren't documents? Usually on the Windows Desktop! Linux can clutter the desktop too, but each of our users also has a Home directory, usually located at /home/user. Within that Home directory you often have Documents (/home/user/documents), program links, music (/home/user/Music), or whatever we want. We can create files and folders here, and organise or disorganise them as much as we want, just like it was our own personal Home. Depending on how our permissions are set, we can allow or prevent any other user access to these files (except the Root user).



7. Default installation differences There are a few differences between Linux distributions, such as where some files are kept or what some of the default programs are named. Just knowing that the file system might be a bit different between RedHat and SuSE is a great start. Most users don't need to know what those differences are, but they should be aware that the internal file systems can be a bit different. When asking for help, make sure to let others know which distribution you are running. If you don't have troubles in your system or don't care to set up complex behind-the-scenes operations, don't worry too much about this.



8. CLI, or "how to run" From the Start-type menu, the xterm program (also called Console) brings you to a Terminal, which looks a bit like a DOS window, but it actually predates and out-powers DOS. This is the Command Line Interface (CLI), the origin of our favorite OS which is present in every Linux distribution. We won't get into the finer details, which can fill books, but the CLI a powerful tool often needed to troubleshoot your computer. If you ask for help on the Internet and someone asks you to run lspci, they want you to start xterm, type lspci, hit enter, and then provide the screen's response.
When you start an xterm, you are your regular user-self with limited powers. To get into Root User mode (see Permissions above) in an xterm, type su [enter], then type the Root password [enter]. Now you have a lot of power so be nice. The Root user can destroy anyone's data, including the system files needed to run Linux. To leave an xterm or su mode, type exit [enter].




9. Ctrl-alt-escape Clicking the ctrl-alt-escape key combination changes your mouse into an X, skull-and-crossbones, or some other sinister mouse-cursor. In this mode, clicking on a misbehaving or frozen application will kill it. It is similar to the End Process in Windows Task Manager, but use with care. If you don't want to kill anything, use the Esc key to back out of kill mode. Clicking on the wrong program (including the desktop GUI) can cause a serious headache.



10. The Internet is your friend! Many distros have a User's Forum where questions, answers, and tips are passed around. LinuxQuestions.org is a great site for overall Linux knowledge and help. Remember, before posting questions on any forum, research your questions (both at LQ and on Google) to avoid asking about an issue that may already be solved. Also, check the age of any solution that you find, as old answers may no longer apply to this fast-changing world of Open Source software. When asking a question, be sure to include as much (applicable) information as you can about your system, such as:
The processor type (Intel or AMD or Apple PPC?)
Your distribution (SuSE? Debian?)
The program with which you're having trouble, and
Any other relevant information. Keep an open mind Linux and open-source software have made leaps and bounds in the last few years, but for users coming from the closed world of Windows, the internal workings of Linux may seem foreign. An open mind and a willingness to share knowledge helps the Linux community grow, and we welcome you to our ranks.

How to Become a Successful Linux User

How to Become a Successful Linux User

First Edition Published: 2007-04-20Updated: 20-Apr-2007 07:40AM
If you're thinking of switching to Linux, using a bit of common sense can be the difference between having a positive or negative experience with Linux. Here are some simple rules that we think will make yours a positive one.
Know what you want to do
Many emails we receive from aspiring Linux users start with some variant of: "I've decided to stick it to Bill Gates and I've would like to try Linux ..." . Though most of us of in the Linux community are not big fans of Mr. Gates, we don't think this is the best motive for switching. The best reason for using Linux is to get to work with a more robust, stable and secure operating system. If you're using Microsoft Windows to do general things (using the internet, word processing, storing your photos, listening to music), then a switch to Linux shouldn't be too painful. However, if you're a Windows user and your computer directly effects your livelihood, then you need to do an inventory of the programs you use. You should know that programs designed to run on Windows will not work automatically on a computer running Linux. That means that you may have to look for substitutes. Luckily, substitutes for almost every type of program exist. Even if you work in some special niche and can't find a substitute for a particular program, you may still be able to use it with Linux, but you will probably need outside help in getting in running. The bottom line is that having a clear idea about what you're going to use Linux for will improve your chances of having a successful transition.

An Introduction to Some Linux Terminology

Like any particular group, the Linux community uses its own terminology, comprised of certain words, expressions and acronyms, to talk about its activities. Just as dentists may talk about molars, bicuspids and incisors, people who are knowledgeable about Linux may talk about things like the kernel, a distribution and dual-booting. Like any new member to a community, hearing and seeing words you don't understand can be a bit of a turn off. Before you read any further, we'd like to refer you to our brief glossary of the most important terms associated with Linux.
Give Linux a Practice Run
The Linux community is fortunate in that we have a lot of very talented people who love to tinker. One of these talented tinkerers, Klaus Knopper, developed a type of Linux distribution that doesn't need to be installed. It is called a Live CD. He named his distribution Knoppix and it is available for free download from his website. All you need to do is burn it to a CD or DVD and boot your machine. This will give you a good idea what Linux is like. In fact, Knoppix isn't the only distribution that will do this. Many popular distributions, including Mandriva, MEPIS and Ubuntu will also boot up as live-CD systems. With these versions of Linux, you can take the operating system for a spin and there's no need to install anything. If you end up liking what you see, these live-CDs can also be installed to your hard drive.

Choose a "popular" Linux distribution

If you've decided to make the switch, we recommend using a distribution that a lot of other people are using. One of the keys to a successful Linux transition, in our estimation, is choosing a popular distribution has a large developer community. A large developer community means that you'll find the programs that you need easily and you will be able to install them with the same ease. With a less well-known distribution, you may find suitable programs but in many cases installing them will mean manually compiling the source code. If you're a beginner, this can be a frustrating experience. The more well-known distributions have prepared programs in 'packages' that are easy to install. On top of this, there are tools designed especially for a particular distribution to manage these packages to make sure that programs run correctly right away. The website Distrowatch.com maintains a comprehensive list of the most popular distributions.

Get the latest version of your chosen distribution

Linux.org receives a lot of emails from people looking for installation help. In the course of the email exchanges, it often becomes apparent that a person is trying to install some older, often no-longer supported version of a Linux distribution. It's best to stay away from CDs you find in old books and magazines. If you have a good connection, go to a distribution's homepage and download the latest ISO images or DVD image from an official mirror. If you're on a dial-up connection, there are several online retailers that will sell you a Linux CD or DVD at very cheap prices. The newer the Linux distribution version, the better the hardware support. The number of glitches you'll get in the installation process decreases with the newness of the version of Linux you choose.

Consider paying for your Linux distribution

A lot of Linux's fame has to do with the fact that the general public considers it 'freeware'. It is true that you can get a full-featured Linux operating system free of charge by downloading it from any number of sources. This is an excellent alternative to an operating system like Windows, which either comes pre-loaded with a newly purchased computer (which gets figured into the cost), is bought separately or copied 'illegally'. In most people's experience, the popular Linux distributions are easy to install. At the time of this writing, Ubuntu is a popular distribution that, is considered an easy to install system. It is also 'free as in beer', as we say in the Linux community. However, if you do run into some glitch (normally hardware related), you may have a frustrating experience. Although there are a number of excellent Linux support forums out there, personalized advice on your particular problem may be hard to find. So if your tolerance for frustration is low, then you may want to consider buying a computer with Linux pre-installed. Contrary to what the tech press often publishes, they do exist. For example, US retailing giant WalMart began selling Linux systems back in 2002, which proves that this option has existed for some time now.
If you'd rather use a computer you already have, you can also purchase a Linux distribution in a boxed package. There are several good candidates and they come with personalized support for a period of time. At the time of this writing, leading Linux distributions available for purchase include:
Linspire
Mandriva
SUSE Linux Enterprise by Novell
Xandros
The price you pay for a boxed set of Linux is usually half of what you'd pay for a copy of Windows XP or Mac OS X and considerably much less expensive than Windows Vista. And remember also that time is money. If you've spent the whole weekend searching internet forums for a solution to some problem, then your free operating system has cost you more than you planned on.

Use an appropriate computer

You may have heard that one of the advantages of Linux is that it runs on 'old' hardware. Does that mean that you can go and find a 10 year old Pentium, install Linux on it and expect to do productive work with it? Probably not. The confusion with respect to Linux on old hardware is mostly our fault because we often talk about using Linux to get more life out of old computers. Inside of a certain time frame, computers can run Linux well, but running it "well" depends on what you're going to use the machine for. You can use Linux to run a mail server or a web server in a small or medium sized business on older hardware. Scaled-down Linux distributions do exist to provide a basic desktop computing environment on older computers. But if you want to use Linux to do the same things that you would with Windows XP or Mac OS X, then you'll need the newest computer you can get your hands on. Avoiding 'elite' video cards and new, exotic hardware will also work in your favor. Though Linux has great hardware support, considering it's at a disadvantage with respect to Microsoft (they can sign non-disclosure agreements while the gadgets are still on the drawing boards), the best computer to use is something fairly new without being on the bleeding edge.

You're on your way

If you can follow the aforementioned guidelines, you'll get a good start on your way to a rewarding experience with Linux. Those who have approached their switch to Linux with many or all of these ideas in mind have gone on to become successful Linux users.

Linux

About linux (OS)
Linux is an operating system that was initially created as a hobby by a young student, Linus Torvalds, at the University of Helsinki in Finland. Linus had an interest in Minix, a small UNIX system, and decided to develop a system that exceeded the Minix standards. He began his work in 1991 when he released version 0.02 and worked steadily until 1994 when version 1.0 of the Linux Kernel was released. The kernel, at the heart of all Linux systems, is developed and released under the GNU General Public License and its source code is freely available to everyone. It is this kernel that forms the base around which a Linux operating system is developed. There are now literally hundreds of companies and organizations and an equal number of individuals that have released their own versions of operating systems based on the Linux kernel. More information on the kernel can be found at our sister site, LinuxHQ and at the official Linux Kernel Archives. The current full-featured version is 2.6 (released December 2003) and development continues.
Apart from the fact that it's freely distributed, Linux's functionality, adaptability and robustness, has made it the main alternative for proprietary Unix and Microsoft operating systems. IBM, Hewlett-Packard and other giants of the computing world have embraced Linux and support its ongoing development. Well into its second decade of existence, Linux has been adopted worldwide primarily as a server platform. Its use as a home and office desktop operating system is also on the rise. The operating system can also be incorporated directly into microchips in a process called "embedding" and is increasingly being used this way in appliances and devices.
Throughout most of the 1990's, tech pundits, largely unaware of Linux's potential, dismissed it as a computer hobbyist project, unsuitable for the general public's computing needs. Through the efforts of developers of desktop management systems such as KDE and GNOME, office suite project OpenOffice.org and the Mozilla web browser project, to name only a few, there are now a wide range of applications that run on Linux and it can be used by anyone regardless of his/her knowledge of computers. Those curious to see the capabilities of Linux can download a live CD version called Knoppix . It comes with everything you might need to carry out day-to-day tasks on the computer and it needs no installation. It will run from a CD in a computer capable of booting from the CD drive. Those choosing to continue using Linux can find a variety of versions or "distributions" of Linux that are easy to install, configure and use. Information on these products is available in our distribution section and can be found by selecting the mainstream/general public category.

 
Acne Treatments
Acne Treatments