Upload Multiple Images with Jquery

In this post of Upload Multiple Images with Jquery code allows to user can select and upload multiple images in single shot, Quick look this live demo. Download Script     Live Demo Sample database design for Users. Users Contains user details username, password, email, profile_image and profile_image_small etc. CREATE TABLE `users` ( `user_id` int(11) AUTO_INCREMENT PRIMARY KEY, `username` varchar(255) UNIQUE KEY, `password` varchar(100), `email`…

Read More »


Tomcat Manuall Configuration On windows

English: Logo of Русский: Логотип Apache Tomcat

Setting the JAVA_HOME , CATALINA_HOME Environment Variable on Windows

One can do using command prompt
1. set JAVA_HOME=C:\”top level directory of your java install”
2. set CATALINA_HOME=C:\”top level directory of your Tomcat install”

Or you can do the same

  1. Go to system properties.
  2. Go to environment variables and add a new variable with the name  JAVA_HOME and provide variable value as C:\”top level directory of your java install”.
  3. Go to environment variables and add a new variable with the name  CATALINA_HOME and provide variable value as C:\”top level directory of your Tomcat install”.
  4. In path variable add a new variable value as ;%CATALINA_HOME%\bin;

and write startup.bat on command Prompt and press enter tomcat will start up and for shutdown u just write shutdown.bat        once you start the tomcat you can access it like that http://localhost:8080     and access Application Manager using login and password …. if you dont know username and password you can  follow below instructions ….

User and password for Tomcat

By default, Tomcat does not enable admin or manager access. To enable it, you have to edit the “%TOMCAT_FOLDER%/conf/tomcat-users.xml” manually.

File : tomcat-users.xml (before update) , initially, Tomcat comments all users and roles like above.

  <role rolename="role1"/>

File : tomcat-users.xml (after updated)

<?xml version='1.0' encoding='utf-8'?>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="admin" password="admin" roles="admin,manager"/>

To enable admin access, just update the content like above. Saved it and restart Tomcat, now you can access Tomcat admin or manger pages with user = “admin” and password = “admin“.

Sort directory/file in alphabetical order ignore case

Last exercise of “File Explorer” list file/directory without order. We can implement Comparator<? super File> to sort the directory/file in alphabetical order. We can also convert the file name to lower case before comparing, such that the array will be sorted in alphabetical order ignore case.

Sort directory/file in alphabetical order ignore case

Modify MainActivity.java from last exercise “File Explorer”.

package com.example.androidexplorer;

import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

import android.os.Bundle;
import android.os.Environment;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class MainActivity extends ListActivity {

 private List<String> item = null;
 private List<String> path = null;
 private String root;
 private TextView myPath;

    public void onCreate(Bundle savedInstanceState) {
        myPath = (TextView)findViewById(R.id.path);

        root = Environment.getExternalStorageDirectory().getPath();


    private void getDir(String dirPath)
     myPath.setText("Location: " + dirPath);
     item = new ArrayList<String>();
     path = new ArrayList<String>();
     File f = new File(dirPath);
     File[] files = f.listFiles();


     Arrays.sort(files, filecomparator);

     for(int i=0; i < files.length; i++)
      File file = files[i];

      if(!file.isHidden() && file.canRead()){
           item.add(file.getName() + "/");

     ArrayAdapter<String> fileList =
       new ArrayAdapter<String>(this, R.layout.row, item);

    Comparator<? super File> filecomparator = new Comparator<File>(){

  public int compare(File file1, File file2) {

    if (file2.isDirectory()){
     return String.valueOf(file1.getName().toLowerCase()).compareTo(file2.getName().toLowerCase());
     return -1;
   }else {
    if (file2.isDirectory()){
     return 1;
     return String.valueOf(file1.getName().toLowerCase()).compareTo(file2.getName().toLowerCase());


 protected void onListItemClick(ListView l, View v, int position, long id) {
  // TODO Auto-generated method stub
  File file = new File(path.get(position));

  if (file.isDirectory())
    new AlertDialog.Builder(this)
     .setTitle("[" + file.getName() + "] folder can't be read!")
     .setPositiveButton("OK", null).show(); 
  }else {
   new AlertDialog.Builder(this)
     .setTitle("[" + file.getName() + "]")
     .setPositiveButton("OK", null).show();



Download the files.

Enhanced by Zemanta


HTC Desire

Digital Clock (HTC Hero inspired)

Author: Radoslav Dimov
Version: 2.1 (Changelog)
Download: jdigiclock.zip
Licence: Dual licensed under the MIT and GPL licenses.


  1. Introduction
  2. Examples
  3. Getting started
  4. Configuration
  5. Compatibility


jDigiClock is a jQuery plugin inspired from HTC Hero Clock Widget.

Example :DEMO


Getting started

To use the jDigiClock plugin, include the jQuery library, the jDigiClock source file and jDigiClock core stylesheet file inside the <head> tag of your HTML document:

	css" href="css/jquery.jdigiclock.css" />

To setup jDigiClock, add the following code inside the <head> tag of your HTML document:

// <![CDATA[
    $(document).ready(function() {
            // Configuration goes here
// ]]>

jDigiClock accepts a lot of configuration options, see chapter “Configuration” for further informations.

jDigiClock expects a very basic HTML markup structure inside your HTML document:

<div id="digiclock"></div>


jDigiClock accepts a list of options to control the appearance and behaviour of the Digital Clock. Here is the list of options you may set:

Property Type Default Description
clockImagesPath string “images/clock/” Clock images path.
weatherImagesPath string “images/weather/” Weather images path.
am_pm boolean false Specifies the AM/PM option.
weatherLocationCode string “EUR|BG|BU002|BOURGAS” Weather location code (see: WeatherLocationDatabase.txt).
weatherMetric string “C” Specifies the weather metric mode: C or F.
weatherUpdate integer 0 Weather update in minutes.
proxyType string “php” Specifies proxy type: php or asp (see: README.txt).


jDigiClock has been tested and works on the following browsers:

  • Internet Explorer 7 (PC)
  • FireFox 3.5 (PC/Linux)
  • Google Chrome 3.0 (PC)
  • Safari 4.0 (PC)

Choosing between Windows CE and Windows XP Embedded

The Quickest, Safest and Easiest Way to Send Money
Instantly Send Cash from Your Mobile or Computer to 125+ Countries
Which is best for your application — Windows CE or Windows XP Embedded? Microsoft has published a whitepaper to assist developers in answering that question. The paper begins with an overview of each of the two Windows Embedded OSes, and then presents a variety of factors and decision criteria in areas such as OS features, development tools, support for the .NET Framework (and Compact Framework) and…

Web services, and the type of device or application being developed.

In this WindowsForDevices.com article, we provide several exerpts from the whitepaper which highlight key aspects of the OS decision process. A link for downloading the full whitepaper is provided at the conclusion of this article.

Selected excerpts from . . .

Which to Choose:
Comparing Microsoft Windows CE and Windows XP Embedded

Microsoft Corporation
July 2003

From the introduction . . .

Windows XP Embedded is designed to deliver the power of Windows in componentized form, enabling you to rapidly build reliable and advanced embedded devices. Windows CE. NET combines an advanced, real-time embedded operating system with powerful tools for rapidly creating the next generation of smart, connected, and small-footprint devices. Each operating system ships with a complete integrated development environment, with support for a wide range of existing hardware, application development tools, and third-party value-added applications and services.

Device-Specific Considerations

The features and functionality typically required for specific device categories can help you choose between Windows XP Embedded and Windows CE.

Table 1 provides examples of some of the device categories that can be powered by the Windows Embedded family of operating system software. In some cases, however, Windows CE and Windows XP Embedded may provide comparable support for a targeted device, so your choice should be determined by comparing your specific design requirements with the features offered by Windows CE or Windows XP Embedded respectively.

Table 1:
Recommended Windows Embedded Operating System
by Device Category

Targeted Device Windows XP Embedded Windows CE
Mobile Clients
Internet and Media Appliances
PC Companions
Digital Cameras
Printers and Scanners
Thin Clients
Retail Point-of-Sale (RPOS) Devices
Windows-Based Terminals
Connected Clients
Basic Set-top Boxes
Advanced Set-top Boxes
Basic Residential Gateways and Servers
Advance Residential Gateways and Home Servers
Industrial Controls
Voice Over Internet Protocol (VoIP) Phones

Devices such as mobile handhelds and basic residential gateways require a small footprint, efficient power management, and remote management capabilities along with the ability to deliver rich user experiences, making Windows CE the recommended operating system for smart, connected and small-footprint devices.

Devices such as advanced set-top boxes and retail point-of-sale clients require the latest security and reliability features, familiar and powerful Windows features, and are less restricted in terms of footprint. Windows XP Embedded is the recommended operating system for delivering the power of Windows in componentized form.

The latest versions of Windows CE and Windows XP Embedded are optimized to support a variety of device-specific platforms, including ATMs, thin clients, gateways and set-top boxes. For detailed information about these platforms, visit the Windows Embedded Device Platforms Web site.

Decision Criteria for Choosing a Windows Embedded Operating System

To help you select the most suitable Windows Embedded operating system software, you may want to consider your device design in terms of the following features and functionality:

  • CPU Architecture — Are you using an x86 or non-x86 CPU? If you are using an X86 CPU, you can use either Windows CE or Windows XP Embedded. If you are using a non-X86 CPU, then you must use Windows CE, which supports four families of microprocessors, including:
    • ARM — Examples of supported processors include ARM720T, ARM920T, ARM1020T, StrongARM, and XScale.
    • MIPS — Supported processors include MIPS II/32 with FP, MIPS II/32 without FP, MIPS16, MIPS IV/64 with FP, and MIPS IV/64 without FP.
    • SHx — Supported processors include SH-3, SH-3 DSP, and SH-4.
    • X86 — Supported processors include 486, 586, Geode, and Pentium I, II, III, and IV.

    Additionally, heat dissipation concerns will affect both CPU selection and operating system. If heat dissipation is a concern, and you select a non-X86 processor as a result, then Windows CE is the only choice for your device.

  • Real-Time Support — Does your device require real-time support? Both Windows CE and Windows XP Embedded support real-time performance. Windows CE is inherently a hard real-time operating system. While Windows XP Embedded is not inherently a real-time operating system, you can easily add real-time capabilities and optimize Windows XP Embedded to meet your real-time needs with readily available third-party solutions.
  • Win32-based Applications — Does your device design take advantage of Win32-based applications? If your device will make use of existing Win32-based applications and drivers without modification, use Windows XP Embedded. Win32 applications and drivers must be modified to run on Windows CE.
  • Operating System RAM Configuration — How much RAM will your device include, and what is the corresponding device image footprint requirement? Both Windows CE and Windows XP Embedded are componentized to enable you to create small or managed footprint designs. The minimum footprint for Windows CE is less than 350 KB, while the minimum footprint for Windows XP Embedded is approximately 8 MB. Footprint requirements are an important factor when choosing between Windows CE and Windows XP Embedded.

Figure 1 provides decision criteria that can help you choose whether Windows CE or Windows XP Embedded is optimized for your specific device requirements.

Figure 1:
Decision Matrix for Choosing
Windows XP Embedded or Windows CE

Windows CE and Windows XP Embedded differ primarily in regard to processor support, real-time support, application portability and footprint. If it appears after reviewing this overview that your device requirements can be met by either Windows Embedded operating system, you can find more detailed information at the Windows CE Web site and the Windows XP Embedded Web site.

Read the full whitepaper here . . .

Which to Choose:
Comparing Microsoft Windows CE and Windows XP Embedded

(150KB download, Word file)

Copyright 2003 Microsoft Corp. All rights reserved. This article was initially published here. Reproduced by WindowsForDevices.com with permission.

PHP IDE with Intelligent Editor for Productive Coding

Intelligent PHP Editor

PhpStorm provides rich and intelligent code editor for PHP with syntax highlighting, extended code formatting configuration, on-the-fly error checking, and smart code completion.

PHP 5.4 Language Features Support

PHP 5.4 is now fully supported, including traits and all the new syntax improvements: class member access on instantiation, short array syntax, array dereferencing on function call, binary literals, expressions in static calls, etc.:

PHP code completion

Automatic code completion (invoked on typing) finalizes classes, methods, variable names, and PHP keywords, plus commonly used names for fields and variables depending on their type.

Code completion


Code completion supports array indexes in PHP code.

Code completion

PHPDoc support

PhpStorm editor respects PHPDoc in your code and provides appropriate code completion suggestions based on @property, @method and @var annotations.

When you edit PHPDoc for your code, variable names and types are auto-completed from the corresponding code blocks.

PHP code refactorings also consider PHPDocs to keep them up to date.


Smart Duplicated Code Detector

Added for all major supported languages including even CSS and HTML. Go to Code|Locate Duplicates to start your quest against copy/paste coding. You’ll be presented with a list of candidates for refactoring — and with the help of Refactor | Extract Method it’s easy to keep your code DRY.

PHP Code Sniffer

PhpStorm 4.0 allows you to check your code on the fly with PHP Code Sniffer (phpcs), just by opening a PHP file. The check is triggered every time you change something in the file, so it’s extremely easy to fix problems reported by PHP Code Sniffer.


Read more in our blog »

PHP refactoring

The Rename refactoring works for files, functions, constants, classes, properties, methods, parameters, and local and global variables.

Also following refactorings are available:

  • Introduce Variable
  • Introduce Constant
  • Introduce Field
  • Inline variable

Make global project changes easily and safely. Local changes are made instantly in-place.

Smarty templates editing

With the PhpStorm IDE, you can use the Smarty template engine and take advantage of these productivity features when working with .tpl files:

  • configurable syntax highlighting for keywords, strings, variables and braces
  • syntax errors highlighting
  • Smarty functions and attributes completion
  • automatic insertion of paired braces, quotes and closing tags
  • commenting of the selected block with a single hotkey
  • custom Smarty delimiters support
Smarty templates editing


More on Smarty support in PhpStorm.

Efficient project analysis and navigation

Its thorough source code analysis allows PhpStorm to provide sophisticated code completion even for unannotated code, for example:

  • the function return type is deducted from its body and return statements
  • class property types (and declarations) are extracted from the constructor code
Class fields from constructor
Function type


File structure view and class, method and call hierarchy views allow for faster code review and navigation.

More on Hierarchy View in our blog: Hierarchies view support for PHP & Hierarchy View actions

to the top

Smart Environment


PhpStorm helps developers to understand and change their code by providing editable UML class diagrams for PHP code. You can quickly examine your application structure, create and edit classes and their relationships. Look for “Diagrams…” in context menus. Many refactorings can be applied directly from the diagram, via the shortcut menu.


Note that a diagram built from a source control change list or history provides a semantic view of changes – added classes, changed hierarchy, and changed properties.

Drupal & Symfony2 Coding Style Support

PhpStorm contains a bundled predefined coding styles for the popular Drupal content management platform and Symfony2 framework. Currently just reformatting your code in PhpStorm removes 99% of errors reported by Drupal coder-review and helps your code meet Drupal coding standards.

Version control systems integration

PhpStorm supports most popular Version Control Systems:

  • Subversion
  • Mercurial
  • Git
  • Perforce
  • CVS
  • TFS

All the tedious tasks (adding, removing, deleting files) are performed automatically. A built-in visual merge tool resolves all conflicts in a quick and intuitive manner. The changes made locally are highlighted as you type in the editor gutter, providing intuitive navigation and a 2-click rollback for individual changes.

IDE changes


For Git VCS IDE shows revisions graph.



The following features are available no matter which VCS you use:

  • Integrated changelists — group your changes into multiple change lists for better organization
  • Shelved changes — set aside some changes to restore them later
  • Repository changes view — see what has been committed by other team members
  • UML view of changessee UML section
  • Incoming changes view — see the code changes not yet integrated into your local copy
  • Outdated changes notification — get warned that a file you are working with has been changed after your last sync

Local history

PhpStorm tracks any changes made to your source files, protecting you from any accidental losses or modifications, even if made by other applications. At any time, you can inspect the history of either a particular file or directory and rollback to any of its previous versions. You can also set version labels.

Phing Support

PhpStorm automatically completes and checks standard tags, properties, target names, path attribute values in build files:

to the top

PHPUnit, Debugger & Profiler


Develop PHPUnit tests in PhpStorm and run them instantly from a directory, file or class using the context menu options.

Dedicated Run/Debug configurations allow you to run the appropriate set of tests at a later time.

Tests are executed in a dedicated Test Runner UI, displaying results overview and detailed stats for the whole suite and every particular test.


If a test fails, you can instantly jump from the stacktrace to the line of code where the error occurred.

More on using PhpUnit with PhpStorm.

Visual Debugger

PhpStorm provides numerous options for debugging your PHP code, so you can:

  • Inspect context-relevant local variables and user-defined watches, including arrays and complex objects, and edit values on the fly.
  • Setup remote debugging for your server.
  • Evaluate an expression in runtime.
  • Debug a page in multiple sessions simultaneously.
  • Keep a debugging session alive while moving between pages.

You can use our browser bookmarklets, Zend Toolbar or XDebug toolbar to initiate debugging directly from any page in a modern browser such as Firefox, IE, Google Chrome or Safari.

PHP Debugger in PhpStorm
PHP debugging: Set value and watch

Read more about zero-configuration debugging with PhpStorm.

And when (in some cases) you still need to configure debugging manually read this article: How to configure debugging in PhpStorm

Watch our video on how to configure remote debugging:

Profiler integration

You can profile your scripts right from PHPStorm with either xDebug and Zend Debugger. You can see an aggregate report and jump from the execution statistics directly to the function in your PHP code.

to the top

Lightweight IDE

Use the same environment on Windows, Mac OS and Linux

Windows. Batch code inspection for CSS
Mac OS X. smart and customizable editor
Linux. Project-wide usages search and spellchecker

Open code from anywhere and start working in no time

Open an existing folder, check out the code from a VCS, or even specify your FTP to download and auto-sync your files with. You’re up and running in mere moments.

Edit project files locally and deploy back to remote server using automatic synchronization, either on file save or on demand.

Web resource folders are quickly configured via Settings|Directories — note the “Resource Root” marker button. Just mark your JS/CSS/other folders to get proper completion and code analysis.

to the top


Note: PhpStorm includes all the features of WebStorm related to javascript and html editing.


DOM-Based, browser-specific completion

JavaScript, HTML & CSS code completion for tags, keywords, labels, variables, parameters and functions is DOM-based and supports popular browsers’ specifics (IE, Firefox, etc.) Completion is available for both standard and user-defined functions in *.js files, HTML event handlers and everywhere else where appropriate.

Javascript completion
Go to symbol
  • Go to declaration — navigates to where the function, variable or label in question is declared with a simple hotkey or Ctrl+Click⌘Click.
  • Go to symbol — navigates to any symbol in project code using search patterns, including asterisk (*) and/or CamelHump abbreviations.
  • Find/Highlight Usages — locates other places in your entire project where a JavaScript symbol, label or file is used, with quick preview and instant navigation to the actual usages.

ECMAScript Harmony Support

For those who prefer to stay one step ahead, WebStorm presents experimental support of a new ongoing ECMAScript version code-named Harmony. To try out the new features, set ECMAScript Harmony to be the JavaScript language version in the IDE settings.

Note: each JavaScript engine implementation adds some nice features that others don’t have. When you use a language feature that isn’t supported by the currently selected JavaScript version, WebStorm will notify you and suggest a Quick-Fix:



Read more in our blog »

JavaScript refactoring

Refactoring capabilities provided for JavaScript allow you to easily modify the code structure as well as undo the modifications. Some refactorings available for JavaScript code and *.js files are:

  • Rename
  • Extract Variable/Function
  • Inline Variable/Function
  • Move/Copy
  • Safe Delete
  • Extract embedded script into file

JavaScript debugger

With JetBrains PhpStorm you can debug JavaScript code utilizing the complete range of features:

  • Breakpoints in HTML and JavaScript
  • Customizable breakpoint properties: suspend mode, conditions, pass count and more
  • Frames, variables and watches views in JavaScript debugger UI
  • Runtime evaluation of JavaScript expressions
JavaScript breakpoint


More on JavaScript Editor features

to the top

Validation and quick-fixes

PhpStorm detects and suggests auto-fixes for such problems as:

  • missing required attributes
  • invalid attributes or illegal values
  • wrong references to files in links
  • duplicate attributes
  • invalid CSS selector format
  • invalid CSS properties
  • unused CSS class definitions
  • invalid local anchors and more…

More front-end features…

You can find more front-end features on JavaScript Editor and HTML/XHTML/CSS Editor pages

to the top

Enhanced by Zemanta

How to Change the ICON of an EXECUTABLE file

Change Icon of an EXE FileSome times it becomes necessary to change the icon of an executable (.exe) file so that the file get’s a new appearance. Many of the tools such as TuneUP Winstyler does this job by adjusting the Windows to display a custom icon to the user. But, in reality if the file is carried to a different computer, then it shows it’s original icon itself.

This means that in order to permanently change the icon, it is necessary to modify the executable file and embed the icon inside the file itself. When this is done the executable file’s icon is changed permanently, so that even if you take file to a different computer it show’s a new icon.

For this purpose I have found a nice tool which will modidify the executable file and embed the icon of your choice into the file itself. ie: The tool changes the icon of the executable file permanently.

I will give you a step-by-step instruction on how to use this tool to change the icon:

  1. Go to www.shelllabs.com and download the trial version of IconChanger and install it (Works on XP, Vista and Win 7).
  2. Run the IconChanger program from Start -> All Programs and you should see an interface as shown below:


  3. Now you will see a window stating that “Choose an object whose icon you want to change”. Click on the “OK” button.
  4. Now select the executable file for which you wish to change the icon.
  5. Icon changer will automatically search for all the icons on your “C:\ drive” so that you can select any one of those. If your desired icon is not shown in the window, you may paste the path of your icon file in the field which says “Search icons in” so that your desired icon gets displayed.
  6. Select the ICON of your choice and click on Set button.
  7. Now a popup window will appear and ask you to select from either of these two options.
    • Change embeded icon.
    • Adjust Windows to display custom icon.
  8. Select the first option (Change embedded icon). You are done. The icon get’s changed.

I hope you like this post. Pass your comments in case if you have any queries or clarifications.


Different Types of Malware and How They Work

Different Types of MalwareMalware is a collective term used to represent virus, worms, spyware and other malicious programs out there on the Internet. In simple words, any software program that is intended to cause direct or indirect harm to the computer system is referred to as a malware.

Some malware programs cause serious problems such as destroying the system files, causing disruption to the computer operation or gathering sensitive information while others may only have a light impact such as redirecting websites to pornographic content or annoying the users with pop-ups and banners.

In the normal routine, we have often seen every malicious program being referred to as a virus, but this is not correct! In fact, as mentioned earlier, there exists several malicious programs where virus is one among them. Now, many of you may be wondering to know what’s the difference between them. Well, this article gives a detailed information on different types of malware that exist, how they work and how they differ from each other:

Computer Virus:

As we all know, this is the type of malware that has become highly popular and is one of the most widely discussed topic in the field of computer security. A virus is just a computer program that is designed to take unauthorized control of the infected computer so as to cause harm to the system’s data or degrade its performance.

Mode of operation:

Computer viruses operates by attaching themselves to an already existing file or program and replicates itself to spread from one computer to another. In most cases, they tend to infect executable files that are parts of legitimate programs. So, whenever the infected file is executed on a new computer, the virus gets activated and begins to operate by further replication or causing the intended damage to the system.

A virus cannot perform its task of harming and replication unless it is allowed to execute. This is the reason why viruses often choose an executable file as its host and get attached to them. Viruses are mainly classified into two types:

Non-Resident Viruses: This kind of virus will execute along with its host, perform the needful action of finding and infecting the other possible files and eventually transfers the control back to the main program (host). The operation of the virus will terminate along with that of its host.

Resident Viruses: In case of resident viruses, whenever the infected program is run by the user, the virus gets activated, loads its replication module into the memory and then transfers the control back to the main program. In this case, the virus still remains active in the memory waiting for an opportunity to find and infect other files even after the main program (host) has been terminated.

Damages caused:

Viruses are known to cause destruction of data and software programs. In some cases, a virus may do nothing other than just replicating itself. However, they are responsible for using a large portion of the system resources such as CPU and memory which results in the performance degradation of the computer.

In order to stay protected from a virus infection, you may refer my other post on 12 tips to maintain a virus free computer.

Trojan horse:

A Trojan horse or simply called as Trojan is a type of malicious program that disguises itself as something that is legitimate or useful. The main purpose of a trojan is to gain the trust of the user from the front end, so that it gets the permission to be installed. But, from the back end, it is designed to grant unauthorized control of the computer to the hacker.

Mode of operation:

A Trojan horse do not depend on the host to carry out its operation. So, unlike a computer virus, it does not tend to attach itself to other files. Trojans are often disguised as video codecs, software cracks, keygens and other similar programs downloaded from untrusted sources. So, one has to be careful about those untrusted websites that offer free downloads.

One of the most poplar example is the DNSChanger trojan that was designed to hijack the DNS servers of the victimized computers. It was distributed by some of the rogue pornographic websites as a video codec needed to view online content.

Damages caused:

Trojan horses are known to cause a wide variety of damages such as stealing passwords and login details, electronic money theft, logging keystrokes, modify/delete files, monitor user activity etc.


Worms are standalone computer programs with a malicious intent that spread from one computer to another. Unlike viruses, worms have the ability to operate independently and hence do not attach themselves to another program.

Mode of operation:

Worms often use a computer network to spread itself by exploiting the security vulnerabilities that exist inside the individual computers. In most cases, worms are designed only to spread without causing any serious change to the computer system.

Damage caused:

Unlike viruses, worms do not cause damage to the system files and other important programs. However, they are responsible for consuming the bandwidth thereby degrading the performance of the network.


Spyware is a type of malicious software that can collect information about the activities of the target computer without the knowledge of its users. Spywares such as keyloggers are often installed by the owner or administrator of the computer in order to monitor the activities of the users. This can be a parent trying to monitor his child, a company owner trying to monitor his employee or someone trying to spy on his/her spouse.

Mode of operation:

Spywares are designed to operate in a totally stealth mode so that its presence is completely hidden from the users of the computer. Once installed, they silently monitor all the activities on the computer such as keystrokes, web activity, IM logs etc. These logs are stored secretly for later access or uploaded online so that the installer of the spyware program can have access to them.

Damage caused:

Apart from monitoring, spywares do not cause any damage to the computer. However, in some cases the affected computer may experience degradation in its performance.


Adware is a software program that automatically renders advertisements to the users without their consent. Most common examples are pop-ups, pop-unders and other annoying banner ads. The prime reason behind the design of adware is to generate revenue for its author.

Mode of operation:

Adwares are are often bundled up with some of the free utilities such as a browser toolbars, video downloaders etc. When such programs are installed, the adware may take over and distract user activity by displaying annoying advertisements.

Damage caused:

Adware is harmless in most of the occasions. However, some are known to contain spywares that are used to monitor the surfing habits of users. This may pose a threat to the privacy of the users.