Wednesday, 28 May 2014

Amazon Cloud Drive

Amazon Cloud Drive is an online storage service that allows users to upload and access music, videos, documents and photos from Web-connected devices. The service also enables a user to stream music to a device, such as a computer, tablet PC or smartphone.

Cloud Drive offers 5 GB of free storage and offers paid plans for 20 GB, 50 GB, 100 GB, 200 GB, 500 GB and 1 TB of Amazon cloud storage. Songs downloaded from the Amazon MP3 store are automatically added to the user’s Amazon Cloud Drive but do not count against the storage quota.

How Pendrive works

USB Flash Drives or commonly called as Pen Drives are popular removable storage media having a storage capacity up to 256 GB. They are preferred over the other conventional storage devices like floppy disks or CD ROMs as they are faster, smaller and have a longer life span.
The internal circuitry of the pen drive draws power from the computer for its operation. They have an integrated USB interface to communicate with the computer. The important parts of the pen drive are USB connector, crystal oscillator, memory chips and a controller to interact with the PC. The pen drive used here has storage capacity of 4GB.
A printed circuit board carrying the circuit elements and a USB connector is shown in the above image. The circuitry is protected inside a pair of plastic cases (connected to each other by means of mechanical hooks) which can be carried in a pocket or a key chain. The USB connector is protected by either retracting into the body or by covering by a removable lid. There are two chips, one is the USB controller and the other is the flash memory chip, which are discussed in detail later in the article.
The IC SK6211 shown in the above image is a controller which facilitates the data communication between the PC/Laptop and the flash memory (EEPROM) of the pen drive. It is fully compatible with USB 2.0 protocols and USB Mass storage class V1.0 specification. The devices like memory card, hard disk, pen drive etc with high data storage capacity fall under the category of Mass Storage Devices. In order to communicate data with devices falling under this category the USB has defined a set of protocols. The operating system provides inbuilt libraries to handle such devices thereby preventing the need of any external drivers to be installed before using these devices. This controller IC can interface with all kind of NAND EEPROM.
The second chip which is shown in the image above is a NAND type flash memory which has fast read, write and erase cycles. The data is stored in memory cells of the EEPROM, known as “floating gate transistors” - a regular metal-oxide field effect transistor (M0SFET) consisting three terminals - source, gate and drain. The storage capacity of this memory is 2GB. There is another similar chip with storage capacity of 2GB on the other side of the PCB, thereby making the total capacity of the pen drive to be 4GB.  
The above image shows the other side of PCB. The second memory chip, a crystal oscillator and a number of surface mount components are soldered which are required for the operation of the pen drive.
The crystal oscillator produces the clock signal for the correct operation of the device. The crystal oscillator used here runs at a clock frequency at 12 MHz

Monday, 26 May 2014

Multipurpose White-LED Light

Standard fluorescent lamps and their smaller versions called compact fluorescent lamps (CFLs) radiate light in all directions (360°) and tend to increase the room temperature. In emergency lights using these lamps, the battery lasts only a few hours due to the power loss during conversion of DC into AC. These limitations can be overcome by using ultra-bright white LEDs.

Here is a torch-cum-table lamp using white LEDs that can also be modified to act as an emergency-cum-bedroom light. Its main features are long and continuous operation, very low power consumption, selectable light angle, very long life and negligible heat radiation.

Fig. 1 shows the circuit of white LEDs-based torch-cum-table lamp. The circuit is very simple and uses a battery charger unit built around IC LM317 (IC1) and a combination of white LEDs. Resistor R3 (4.7-ohm, 2W) limits the current through the battery. The radiation angles selected for white LEDs are 60° and 20°. Three columns of LED clusters (A, B and C) are made on separate transparent acrylic sheets, with each sheet having a total of twelve LEDs affixed to it.

Fig. 1: Cluster LED searchlight/table lamp
The left (A) and right (C) columns use 20° LEDs, while the middle column (B) uses 60° LEDs. All the twelve LEDs of each column are connected in series to separate 15-ohm current-equalisation resistors (R8 through R19) as shown in Fig. 2, and to current-limiter resistors R7 (10-ohm, 1W) and R6 (5-ohm, 1W) as shown in Fig. 1. The entire unit is powered by a 6V, 4Ah maintenance-free rechargeable battery.

The continuous lighting life is around 7 hours in torchlight mode and around 14 hours in table lamp mode, depending on the battery capacity and quality. For the torch mode, only the left and right LED columns are used. These LEDs beam light up to 6 metres. In table lamp (spread light) mode, only the middle column of LEDs is used.

Fig. 2: Arrangement of LEDs for column A, B or C
You can select between the table lamp and torch modes by using rotary switch S1, which is a single-pole, 3-way switch. When the pole of switch S1 is set at position 1, the C column of 60° LEDs lights up and the system acts as a table lamp. When the pole of switch S1 is set at position 3, columns A and C light up and the system acts as a torch. When the pole of switch S1 is at position 2, both the table lamp and the torch modes remain off.

When mains is switched on, LED2 glows. To charge the battery, flip switch S2 to ‘on’ position. To check the status of the battery, flip switch S3 to ‘on’ position. This will give an indication of battery charge. If low-battery indicator LED1 turns off, the battery needs to be charged.

Fig. 3 shows the circuit of emergency lamp with brightness control, which is derived from Fig. 1 with slight modification in the combination of LEDs. Built around four multichip (MC) LEDs, it is very compact and simple, and can work in two modes, namely, bedroom lamp and emergency lamp.

In bedroom lamp mode, only one blue LED glows. This LED is mounted at the top in upside down position to avoid direct viewing of the blue light. The arrangement gives a pleasant, well-spread light.

In emergency lamp mode, 8mm, 80° bright-white multichip LEDs give 80° spread light, which is sufficient for indoor uses. Circular PCBs for multichip LEDs have four internal junctions each. Solder LED17 through LED20 in the first PCB, LED21 through LED24 in the second PCB, LED25 through LED28 in the third PCB and LED29 through LED32 in the fourth PCB, with a spacing of 3 to 4 cm between two adjacent LEDs. Finally, house all the four circular PCBs in a compact cabinet along with the reflector such that light can spread out in the room.

Fig. 3: Emergency lamp with brightness control
Each multichip LED gives a power of 32 candles. Therefore use of four 8mm multichip LEDs will give a total power of 128 candles.

In emergency lamp mode (selected through rotary switch S5), all the four multichip LEDs (including LED17 through LED32) glow. The DC power source is a 6V, 4Ah chargeable battery, with charging circuit built around popular IC LM317 (IC2).  Resistor R21 (2.2-ohm, 1W) acts as the current limiter for the battery.

You can control the candle power (brightness) of LEDs as per your requirements. Transistor SL100 (T1) and its associated components form the candle controller (brightness controller). The base biasing voltage of the transistor is stabilised by resistor R24 and diodes N3 and N4 (1N4001). This constant voltage is given to the base of the transistor through a potentiometer VR1 (4.7k lin.). By adjusting the potentiometer, you can control the intensity of the multichip LEDs. No heat-sink is required for the transistor.

Sunday, 25 May 2014

BIOS (basic input/output system)


             BIOS (basic input/output system) is the program a personal computer's microprocessor uses to get the computer system started after you turn it on. It also manages data flow between the computer's operating system and attached devices such as the hard disk , video adapter, keyboard , mouse , and printer .

BIOS is an integral part of your computer and comes with it when you bring it home. (In contrast, the operating system can either be pre-installed by the manufacturer or vendor or installed by the user.) BIOS is a program that is made accessible to the microprocessor on an erasable programmable read-only memory (EPROM) chip. When you turn on your computer, the microprocessor passes control to the BIOS program, which is always located at the same place on EPROM.

When BIOS boots up (starts up) your computer, it first determines whether all of the attachments are in place and operational and then it loads the operating system (or key parts of it) into your computer's random access memory (RAM) from your hard disk or diskette drive.

With BIOS, your operating system and its applications are freed from having to understand exact details (such as hardware addresses) about the attached input/output devices. When device details change, only the BIOS program needs to be changed. Sometimes this change can be made during your system setup. In any case, neither your operating system or any applications you use need to be changed.

Although BIOS is theoretically always the intermediary between the microprocessor and I/O device control information and data flow, in some cases, BIOS can arrange for data to flow directly to memory from devices (such as video cards) that require faster data flow to be effective.

What Is a Storage Array?



              A storage array is a computer system designed for and dedicated to providing storage to externally attached computers, usually via a storage network. This storage has traditionally been spinning disk, but we are seeing an increasing number of solid-state media in storage arrays. It is not uncommon for a large storage array to have more than a petabyte (PB) of storage.
Storage arrays connect to host computers over a shared network and typically provide advanced reliability and enhanced functionality. Storage arrays come in three major flavors:
■■ SAN
■■ NAS
■■ Unified (SAN and NAS)
SAN storage arrays, sometimes referred to as block storage arrays, provide connectivity via block-based protocols such as Fibre Channel (FC), Fibre Channel over Ethernet (FCoE),
Internet Small Computer System Interface (iSCSI), or Serial Attached SCSI (SAS). Block storage arrays send low-level disk-drive access commands called SCSI command descriptor blocks (CDBs) such as READ block, WRITE block, and READ CAPACITY over the SAN.
NAS storage arrays, sometimes called filers, provide connectivity over file-based protocols such as Network File System (NFS) and SMB/CIFS. File-based protocols work at a higher level than low-level block commands. They manipulate files and directories with commands that do things such as create files, rename files, lock a byte range within a file, close a file, and so on.

Unified storage arrays, sometimes referred to as multiprotocol arrays, provide shared
storage over both block and file protocols. The best of both worlds, right? Sometimes, and
sometimes not.
The purpose of all storage arrays, SAN and NAS, is to pool together storage resources
and make those resources available to hosts connected over the storage network. Over and
above this, most storage arrays provide the following advanced features and functionality:
■■ Replication
■■ Snapshots
■■ Offloads
■■ High availability and resiliency
■■ High performance
■■ Space efficiency
While there are all kinds of storage arrays, it is a nonfunctional goal of every storage
array to provide the ultimate environment and ecosystem for disk drives and solid-state
drives to survive and thrive. These arrays are designed and finely tuned to provide an optimally
cooling airflow, vibration dampening, and a clean protected power supply, as well as
performing tasks such as regular scrubbing of disks and other health checking. Basically, if
you were a disk drive, you would want to live in a storage array! 


NAS Storage
NAS storage arrays work with files rather than blocks. These arrays provide connectivity
via TCP/IP-based file-sharing protocols such as NFS and SMB/CIFS. They are often used
to consolidate Windows and Linux file servers, where hosts mount exports and shares from
the NAS in exactly the same way they would mount an NFS or CIFS share from a Linux or
Windows file server. Because of this, hosts know that these exports and shares are not local
volumes, meaning there is no need to write a filesystem to the mounted volume, as this is
the job of the NAS array.
A Windows host wanting to map an SMB/CIFS share from a NAS array will do so in
exactly the same way as it would map a share from a Windows file server by using a Universal
Naming Convention (UNC) path such as \\legendary-file-server\shares\tech.
Because NAS protocols operate over shared Ethernet networks, they usually suffer from
higher network-based latency than SAN storage and are more prone to network-related
issues. Also, because NAS storage arrays work with files and directories, they have to deal
with file permissions, user accounts, Active Directory, Network Information Service (NIS),
file locking, and other file-related technologies. One common challenge is integrating virus
checking with NAS storage. There is no doubt about it: NAS storage is an entirely different
beast than SAN storage.
NAS arrays are often referred to using the NetApp term filers, so it would not be uncommon
to hear somebody say, “We’re upgrading the code on the production filers this weekend.”
NAS controllers are often referred to as heads or NAS heads. So a statement such as,
“The vendor is on site replacing a failed head on the New York NAS” refers to replacing a
failed NAS controller.
NAS arrays have historically been viewed as cheaper and lower performance than SAN
arrays. This is not necessarily the case. In fact, because NAS arrays own and understand
the underlying filesystem in use on an exported volume, and therefore understand files and
metadata, they can often have the upper hand over SAN arrays. As with most things, you
can buy cheap, low-performance NAS devices, or you can dig a little deeper and buy expensive,
high-performance NAS. Of course, most vendors will tell you that their NAS devices
are low cost and high performance. Just be sure you know what you are buying before you

part with your company’s hard-earned cash.


Friday, 23 May 2014

iPhone 6 Images

iPhone 6 Images Leaked


Google Glass

Introduction
Have you read about the Google Glass project and wondered what kind of apps you can build or design on Glass? This seminar is designed to introduce developers and designers (and everyone else) to the Google Glass interface, the Google Mirror API, and the functionalities and limitations of both. Google is encouraging an ecosystem of developers and designers to build the apps that could make Glass the next iPhone.
Glass is part of the evolution from desktop to mobile to wearable technology, including watches, bracelets, and other eyewear. While it is still early and Glass is only released to several thousand “Explorers,” designers and developers may eventually consider it essential to understand the fundamentals of development and design for Google Glass.

What is Google Glass?
 It‟s a glass with a Smart Phone in it.
 It‟s brings the internet world and real world together.
 It has a micro phone , camera and a screen
How it Works? The device will probably communicate with mobile phones through Wi-Fi and display contents on the video screen as well as respond to the voice commands of the user. Google put together a short video demonstrating the features and apps of Google glasses. It mainly concentrates on the social networking, navigation and communication. The video camera senses the environment and recognizes the objects and people around. The whole working of the Google glasses depends upon the user voice commands itself.

Benefits:
 Easy to wear and use.
 Sensitive and responsive to the presence of people.
 Fast access of maps, documents, videos, chats and much more.
 A new trend for fashion lovers together being an innovative technology.
 A spectacle based computer to reside directly on your eyes rather than in your pouch or pocket.
 A useful technology for all kinds of handicapped/disabled people

Advantages of Google Glass
 Glass is sleek, light and easily wearable and you won‟t require keeping it on and off your pockets, like mobile phones.
 No Bluetooth or camera needed when Glass is on, it‟ll do all for you.
 Glass will provide you detailed information and satisfactory results on your queries.
 Make phone calls, sms, emails though Google Glass, no Smartphone required.
 Keep your calendar events, information, contacts updated on Glass.
 Easier navigation and maps will be provided through Glass.
 Glass will make you look hi-tech and updated on technology and create an impressive impact on people.

Disadvantages of Google Glass
 Glass might give you a „nerdy‟ look that might create clumsiness among people.
 No indication while clicking pictures (like pointing the camera) which almost sounds like a hidden camera trying to capture a non-ready subject.
 Chances are there to drop yourself down in the road while reading a text or email since you can‟t get your eyes off it.
 No public privacy concern so the worry of leaking out information still remains.
 Competition is on pace. The future might bring a contact lens version of Glass after which Google Glass is supposed to sink.

Google Glass Design Principles
Here are the key guidelines for designing a good Google Glass experience. Straight from Timothy Jordan, Senior Developer Advocate at Google.
1. Design for Glass and it‟s unique interface
2. Don‟t get in the way or be intrusive (no intermodal dialogues)
3. Keep it timely. Glass is a “right now” device.
4. Avoid the unexpected. Don‟t surprise the users with unexpected communications or time cards.

FIBONACCI SERIES in C++

Program: 
#include<iostream.h> 
#include<conio.h> 
void main() 

int a=0,b=1,c,d; 
clrscr(); 
cout<<"Enter the number"<<endl; 
cin>>d; while(d>=1) 

c=a+b; a=b; b=c; d=d-1; 
cout<<c<<endl; 

getch(); 
}

OUTPUT: 
Enter the number 

1




13

Binary heap


Binary heap
A binary heap forces a certain property onto an
array which makes it into what is known as a heap.

  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15

Using integer division the parent of a child is
p=c\2 and the children (if any) of a parent are
c1=p*2 and c2=(p*2)+1.

                 /¯¯¯¯¯¯¯¯¯¯\¯¯\
   /¯\¯¯\ /¯¯¯¯¯/\¯¯\ /¯¯¯¯¯¯\¯¯\¯¯¯¯¯¯¯¯\¯¯\
  1   2  3  4  5  6  7  8  9 10 11 12 13 14 15
       \___/_\/    \___/__/________/__/
              \_______/__/

If you understand this, you're set.

The elements of the array can be thought of as
lying in a tree structure. The tree structure is
purely notional; there are no pointers, etc.

Element indices:     1
                 /       \
             2              3
           /   \          /   \
         4       5      6       7
        / \     / \    / \     / \
       8   9   10 11  12 13   14 15

An array A(1..n) is called a heap if the value
of each element is greater than or equal to the
values of its children, if any.

Clearly, if A(1..n) is a heap, then A(1) is the
largest element of the array.

Element values:      W
                 /       \
             U              S
           /   \          /   \
         K       P      J       R
        / \     / \    / \     /
       C   H   A   F  D   B   E

Given a new value "T" added to the heap at the
next available index A(15), the "sift" operation
moves the new element up the heap, moving smaller
values down, until the new element can be placed
in such a way as to maintain the heap property.

Element values:      W
                 /       \
             U             [T]
           /   \          /   \
         K       P      J       S
        / \     / \    / \     / \
       C   H   A   F  D   B   E   R

The heap can have "height" at most log_2(n), so the
insertion operation takes at most O(log n) time.

Deletions from a heap are just as simple. To remove
the value "P" at A(5) just replace it with that of
the last element, then "sift" the new value in A(5)
up or down as needed:

Element values:      W
                 /       \
             U              T
           /   \          /   \
         K      [R]     J       S
        / \     / \    / \     /
       C   H   A   F  D   B   E

To sort this heap we continuously get the value of
the root (the element containing the greatest value)
and exchange it with that of the last element.

Element values:     [E]
                 /       \
             U              T
           /   \          /   \
         K       R      J       S
        / \     / \    / \
       C   H   A   F  D   B |¯W¯¯¯

We then "sift" the root item down moving the greatest
child up at each step. Doing this will leave the heap
with the greatest value at the top.

Element values:      U
                 /       \
             R              T
           /   \          /   \
         K       F      J       S
        / \     / \    / \
       C   H   A  [E] D   B |¯W¯¯¯

Next, excluding the last element exchanged, repeat
by exchanging the value of the root with that of
the second-to-last element, etc.

Element values:     [B]
                 /       \
             R              T
           /   \          /   \
         K       F      J       S
        / \     / \    /
       C   H   A   E  D |¯U¯¯¯W¯¯¯

Becomes:             T
                 /       \
             R              S
           /   \          /   \
         K       F      J      [B]
        / \     / \    /
       C   H   A   E  D |¯U¯¯¯W¯¯¯

The test at element A(7) for children will
produce an index out of current bounds.

We continue until all the greater values are
at the bottom and the least values at the top.

Element values:      A
                 /       \
     |¯¯¯¯¯¯¯B¯¯¯¯¯¯¯¯¯¯¯¯¯¯C¯¯¯¯¯¯
     |     /   \          /   \
     |   D       E      F       H
     |  / \     / \    / \     /
     | J   K   R   S  T   U   W

We can see that due to it's binary nature, the
computing time for heap sort is O(n log_2 n).

From this sorted state, the heap property can be
re-established through "sifting" operations, and
also by an inversion of the array elements:

Element values:      W
                 /       \
             U              T
           /   \          /   \
         S       R      K       J
        / \     / \    / \     /
       H   F   E   D  C   B   A

The heap is now ready for further insertions
or deletions, and can be re-sorted.

In summary:

A binary heap guarantees logarithmic performance,
with no balancing overhead associated with binary
trees.

A binary heap can have height at most log_2(n),
so creating the heap takes at most O(log n) time.

Sorting the heap adds computing time for a total
of O(n log_2 n) time.

Each subsequent search operation takes O(log n) time.

Mathematical complexity

You may have heard of mathematical complexity measures
like O(n) and O(n2).

O(n) means that the execution time of a procedure is
proportional to the input size n.

O(n2) means it's proportional to the square of the
input size.

In other words, O(n) is much faster than O(n2), if
n is large.

What is n, the input size? It can be anything,
including the number of lines in a text file,
the dimensions of an array, or the size of
binary data.

It all depends on what you're programming.

The worst case is denoted by O(2n).

This means that execution time rises
exponentially when n increases.

On the other hand, if execution time rises only
logarithmically, like O(log n), you have a fast
procedure even for large sets of data.

So what does logarithmic really mean? For each
time n doubles it only adds one extra step in the
search operation, and this is the fundamental
benefit of a binary search.

A tree containing 16 nodes can be completely
searched with no more than 4 comparisons (2^4=16),
and a tree containing 256 nodes can be completely
searched with no more than 8 comparisons (2^8=256),
while a tree containing one million nodes in no
more than 20 comparisons, and 4,294,967,296 nodes
can be searched in no more than 32 comparisons.

MySQL


MySQL is an open source relational database management system (RDBMS) based on Structured Query Language (SQL).

MySQL runs on virtually all platforms, including Linux, UNIX, and Windows. Although it can be used in a wide range of applications, MySQL is most often associated with web-based applications and online publishing and is an important component of an open source enterprise stack called LAMP. LAMP is a Web development platform that uses Linux as the operating system, Apache as the Web server, MySQL as the relational database management system and PHP as the object-oriented scripting language. (Sometimes Perl or Python is used instead of PHP.)

MySQL, which was originally conceived by the Swedish company MySQL AB, was acquired by Oracle in 2008. Developers can still use MySQL under the GNU General Public License (GPL), but enterprises must obtain a commercial license from Oracle.

Offshoots of MySQL are called forks. They include:

Drizzle – a lightweight open source database management system in development based on MySQL 6.0.

MariaDB – a popular community-developed "drop-in" replacement for MySQL that uses MySQL APIs and commands.

Percona Server with XtraDB– an enhanced version of MySQL known for horizontal scalability.

Wednesday, 21 May 2014

iTunes U

iTunes U is a dedicated section of Apple's iTunes Music Store that features educational audio and video files from universities, museums and public media organizations for free download to PCs and mobile devices.  iTunes U allows a visitor to search, download and play educational content in the same way that they can manipulate songs, podcasts, television shows and movies. Participating institutions include Stanford, UC Berkeley, University of Melbourne, Texas A&M, MIT, Yale, Trinity College Dublin and many more. The Beyond Campus section of  iTunes U also delivers programming from American Public Media, PBS, the Museum of Modern Art and the Smithsonian. 
To use the service, a user is required to download and install iTunes on an Internet-connected PC and then visit the iTunes Store.  The user may also visit the relevant subdomain of a participating university, like http://itunes.stanford.edu. From there, her or she can go directly to the institution's homepage on iTunes U. The visitor can then select entire courses or choose individual video or audio recordings, ebooks or PDFs. The material can then either be watched directly on the PC or synchronized onto a portable media player for mobile learning. Educators can use the service to upload coursework and lectures for easy distribution on a platform that students are generally already competent navigating.
In the year since its introduction, iTunes U has logged over 4 million downloads, though Apple will not release precise statistics to anyone other than participating universities and organizations. The introduction of a wireless version of the iTunes Store for iPhones and iPod Touches means that students can now download coursework on-demand directly from connected mobile devices. This ability to access coursework wirelessly will further redefine paradigms for virtual classrooms and distributed online learning.
Critics point out that only large, well-funded institutions like Stanford, Berkeley or MIT can afford to digitize courseware for distribution on a large scale. The courses available also have spotty coverage across the various curricula, depending upon how active instructors have been in making content available. The quality of the courses available are also largely dependent on the preparation and training of individual teachers, especially in creating video for small iPod screens or capturing live discussions for syndication.

Computer VIRUS

Whilst a biological virus may cause you sneezing, its computer counterpart may render sneaking in your personal details. If you discover some gradual or sudden loss of data on your hard drives, don’t wait for a hardware breakdown for counteraction, you may be under a virus attack; a computer virus attack. computer virusA Computer Virus is a malware or a malicious automated code whichreplicates itself from one computer to another and infects the operation of the machine. It is a small program which spreads by attaching itself (or forcefully by its designers) to executable files or documents present on the computer system.
 
 
Viruses are designed to be attached to files that have some programming capability. Such files are usually the executable files, for example files with extension .exe. Hence this advantage follows: A computer virus does not infect or target a machine unless the file it is attached to, gets executed by the user. So the good news is that it does not exploit the vulnerabilities in a system automatically. Besides computer virus, there are other types of malicious code like Trojans, worms, spyware, keyloggers and rootkits which are equally threatening but vary from virus in their dynamics. Read more about how computer virus works
 
Computer VIRUS1
In Retrospect:

The theory of self-replicating programs was first discovered by John Von Neumann; a Hungarian scientist in 1949. But it was only a proposed rhetoric and no evidence of violating virus was actually found till then. The first ever virus; Creeper Virus was detected on ARPANET (the then internet) in the early 1970s. It was written by Bob Thomas at BBN Technologies in 1971. However the violating PC viruses came into force with the spread of personal computers in 1980s. With the popularity of IBM PC (released in 1982) and APPLE Macintosh (released in 1984), real computers came into the market and hence came the epidemic of computer viruses like Brain, Vienna, Cascade etc. There was sudden drop-down of letters from the display, the computer would start playing some anonymous hymns, the boot sector of a floppy disc would be replaced by a copy of the virus or even the speed of the floppy disc drive would slow down.
 
Early viruses were pieces of small code attached to legitimate large files like popular games and word processor. Whenever the user runs these legitimate programs the virus loads itself into the memory. There it modifies other programs on the disc and add the virus’s code into the program.
 
Types of Computer Virus
Viruses are designed for various intents. It might corrupt or destroy data on your computer, use an email program to spread itself to other computers on your network or may even affect the boot sector. Broadly, computer viruses can be divided into two categories;
Compiled Viruses: It is that kind of a virus whose code is converted by the compiler into a format which can be directly executed by an operating system.
Interpreted Viruses: These are the more prevalent type of virus. Interpreted virus is composed of program or code which can be executed only by a particular application or service. These are comparatively easy to generate.
Below are some of the variants of the complied type computer virus:
1.      Boot Sector Virus - As the name suggests a boot sector virus affects the boot section on your computer. Evidently, boot sector is the section which is accessed at the very first when the computer is turned on. It is used to boot the information used by the operating system. A Boot sector virus gains complete control over the Master Boot Record (MDR) or the DOS by replacing the contents of the OS with that of its own resulting in errors during booting or ‘cannot boot’ message. Michelangelo and Stones are some examples of boot sector viruses. Earlier, before the era of modern, heavy memory computers, floppy disks were used to boot the system. With the decline of floppy disks, boot viruses have declined as well.
2.      File Infector Virus - This is the most popular and most prevalent variant of compiled computer virus. It attaches itself to executable programs such as word processors, game files, spreadsheets applications, etc. The file infector virus fixes itself into the host file and begins its operation whenever the file is executed. Here is a snapshot of one such threat detected by an antivirus.
 Computer VIRUS2 
When the file is executed, the virus runs first followed by the program. Examples of file infector virus are Cascade and Jerusalem.
3.      Multipartite Virus - Unlike other types of viruses, the multipartite finds multiple breeding areas for target. It may attach itself to the boot sector, the executable files or both depending on machine variants like the type of OS and other variables. Some specimen of multipartite virus is Flip and Invader. Multipartite virus spreads faster than the other variants of compiled virus due to the presence of multiple spread vectors. Hence, removing these is also difficult and requires cleaning both the booth sector and the infected files.
Now let us have a look at the variants of interpreted virus
1.      Macro Virus - Macro is a programming language used to automate complex, repetitive processes. Macro viruses attach themselves to application documents and spreadsheets which cater to macro programming and use it to execute and multiply themselves. The most popular desktop application Microsoft Office also uses macro programming. So, it is quite easy for macro viruses to propagate through such applications. A macro virus in addition to the current document also infects the template which the program uses to open or close a file. This in turn corrupts all the documents catering to that particular application. Hence, a bigger menace. Usually Macro viruses are received as attachments in emails. Whenever we download these attachments, the macros unfurl and install on our computers. Examples of Macro Virus are The Concept, and Melissa.
2.      Scripting Viruses -  Scripting virus is quite a lot similar to Macro virus, the difference being they have a larger domain than the macros. Script virus is written in a language understood by a service run by the OS. It is very sophisticated and is compiled and run on the fly. These are written in a variety of script languages like JavaScript, VBS, PHP, etc. Generally, these are embedded in emails, office automation documents, and also web pages. Web scripting and cross-site scripting are very popular computer security vulnerabilities which strand for script viruses.
There are also some other types of computer viruses which are classified separately, such as:
Browser Hijacker: A browser hijacker is a malware which effectively hijacks some functions of your browser. These are generally profit intensive and changes your browser’s default home page, search page, most visited web with its own in order to generate more and more hits. An anonymous list of favorites may get added to your browser bar which in turn slows down the computer, the internet options may be altered also it may direct you to unsafe and dangerous websites, appearance of excessive pop-up windows, an extra toolbar may appear on the browser homepage (in case the browser in use is IE), excessive bandwidth usage, etc. The most well known example of such a hijacker is CoolWebSearch. Other examples include MySearchCorp.com, Morwill Search, Search-Daily.com, etc.
Browser HijackerPolymorphic Virus: A polymorphic virus is a type of encrypted virus that uses a polymorphic (mutation) engine to fetch itself an encryption algorithm which automatically changes its code whenever it passes to different machine. An encrypted virus contains a virus body, a decryption routine and a mutation engine. The polymorphic code mutates besides keeping the original functional code intact. This makes it the most complex and difficult virus to detect and heel. Some examples of polymorphic virus are Natas (also known as SatanBug.Natas), Tequila, One Half and Maltese.
Taming the Menace
AntivirusAn antivirus is software that is used to prevent, detect and remove malicious program from the computer. There are various antivirus software packages available in the market. There are different detection strategies antivirus works on like
·         Signature based detection: The antivirus software is embedded with a dictionary of known malware codes known as ‘signatures’ in its database. By means of this virus dictionary, files are examined to look for known viruses. The detected threats are then flagged and treated (repaired, quarantined or deleted) by the antivirus depending on the potential risk involved. Signature based antivirus software are required to be updated time and again to stay resonant with the new virus which keeps appearing in the wild.
·         Heuristic Approach /Suspicious Behavior based detection: This detection technique does not scan for known viruses but monitors all files and programs on the machine for suspicious behavior if the program tries to write data on an executable program.
·         Sandbox based detection: A sandbox emulates the operating system and runs the executable in this simulation. After the program terminates, the sandbox is examined for changes which might indicate a virus.
As reviewed by top10reviews, here is a list of some of the best antivirus packs one can opt for:
Title
Overall Ratings
BitDefender Antivirus Plus
Excellent
Kaspersky Antivirus
Excellent
Webroot Antivirus
Excellent
Norton
Excellent
ESET Nod32
Excellent
 
Firewall: A firewall is a software-based security system used to protect unauthorized network access and prevents viruses and worms from entering into the computer. For example Windows firewall in XP and Vista forbids external attack by making your computer’s ports invisible to outsiders and denying the acceptance of unrequested data packets.
HoneypotA Honeypot is a trap set to detect, deflect, or in some manner counteract attempts at unauthorized use of information systems.
 
Some useful advice
Besides all the protection from the antivirus and the firewall, users must be careful about certain things while they operate their computer both online and offline to stay protected.
·         Do not download and execute unknown programs from the internet.
·         Always use a quality security system for your machine.
·         Update you antivirus programs regularly.
·         Turn on the auto scan in your antivirus.
·         Use virtual keyboard for internet banking.
·         Do not always run your machine with administrator access.
·         Do not open unexpected and nasty e-mail attachments without scanning.
·         Do not respond to unexpected/ uninvited pop-ups and pop-downs.