20 February 2008

High-performance computing (Unsolved problems in computer science)

The term high performance computing (HPC) refers to the use of (parallel) supercomputers and computer clusters, that is, computing systems made of multiple (usually mass-produced) processors linked together in a single system with commercially available interconnects. This is in contrast to mainframe computers, which are generally monolithic in nature. While a high level of technical skill is needed to assemble and use such systems, they can be created from off-the-shelf components. Because of their flexibility, power, and relatively low cost, HPC systems increasingly dominate the world of supercomputing. Usually, computer systems in or above the teraflops-region are counted as HPC-computers.
The term is most commonly associated with computing used for scientific research. A related term, High-performance technical computing (HPTC), generally refers to the engineering applications of cluster-based computing (such as computational fluid dynamics and the building and testing of virtual prototypes). Recently, HPC has come to be applied to business uses of cluster-based supercomputers, such as data warehouses, line-of-business (LOB) applications and transaction processing.

12 February 2008

Google Revenue

Unlike some Internet companies, Google has multiple ways of generating revenue beyond private investment or selling shares of stocks. Google uses three ways to partner with merchants and advertisers: Google Checkout, Google AdWords and Google AdSense.

Google on the Stock Market
Stand Honda/AFP/Getty Images
In 2004, Google became a publicly traded company
on NASDAQ.

Google Checkout is a service designed to make online purchases easier for both the consumer and the retailer. On the consumer end, users create a free Google Checkout account. Part of the account creation process includes entering a credit or debit card number, which Google stores in a secure database. When the user visits a retailer that subscribes to Google Checkout, he or she can click on the checkout option and Google facilitates the transaction. This means that the user doesn't have to enter a card number every time he or she makes a purchase.

Retailers can set up Google Checkout accounts for free, but as of February 2008, Google charges a 2 percent plus 20-cent fee per transaction. For example, if a customer buys a $10 item from a merchant, Google will charge that merchant 40 cents for that transaction.

Another way Google generates revenue is through a pair of Web advertising services called AdWords and AdSense. With AdWords, advertisers can submit ads to Google that include a list of keywords relating to the product, service or business. When a Google user searches the Web using one or more of those keywords, the ad appears on the SERP in a sidebar. The advertiser pays Google every time a user clicks on the ad.

Google's Acquisitions
Google isn't just famous for creating and providing useful services -- it's also bought a few innovative companies and integrated them. These include YouTube (a video-sharing Web site), Blogger (a web log service), Picasa (a photo-sharing service) and Jaiku (an SMS and micro-blog service).

AdSense is similar, except that instead of displaying ads on a Google SERP, a webmaster can choose to integrate ads into his or her own site. Google's spiders crawl the site and analyze the content. Then, Google selects ads that contain keywords relevant to the webmaster's site. The webmaster can customize the location and color of the sidebar containing the ads. Every time someone clicks on an ad on the webmaster's site, the webmaster receives a portion of the ad revenue (Google gets the rest).

Google AdSense
Google Adsense ads appear on HowStuffWorks' pages.

With both AdWords and AdSense, Google's strategy is to provide targeted advertising to users. Google believes that by providing advertising relevant to the information the user is already searching for, the chances of someone following the ad are greatly increased [source: Google].

In the next section, we'll learn about the equipment Google uses to provide users with these tools and services.

About GOOGLE

Google Services

As Google has grown, the company has added several new services for its users. Some of the services are designed to help make Web searches more efficient and relevant, while others seem to have little in common with search engines. With many of its services, Google has entered into direct competition with other companies.

Google's specialized searches are an extension of its normal search engine protocol. With specialized searches, you can narrow your search to specific resources. You can enter keywords into Google and search for:

  • Images related to your keywords
  • Maps
  • News articles or footage
  • Products or services you can purchase online
  • Blog entries containing the keywords you've chosen
  • Content in books
  • Videos
  • Scholarly papers

For these searches, Google has created specialized indexes that only contain relevant sources. For example, if you search for the terms "Planet Earth" in the news category, the results will include only news articles that contain those keywords. The results will look very different from Google's normal SERP.

Google on the Go
You can perform a Google search with any short message service (SMS) compatible cell phone, even if you can't access the Web with your phone. Simply text your query to 466453 (which spells GOOGLE on a phone pad). Google will send a response back within a couple of seconds.

In the last few years, Google has unveiled services that don't relate to search engines upon first glance. For example, Google's Gmail is a free Web-based e-mail program. When the service first launched, Google limited the number of users who could create accounts. The first group of users could invite a limited number of people to join the service, and so Gmail invitations became a commodity. Today, anyone can sign up for a free Gmail account.

Gmail
Google's Gmail is now available to all users, but it was once a limited commodity.

Gmail organizes e-mails into conversations. This means that when you send an e-mail to someone and he or she replies, both e-mails are grouped together in a thread in your inbox. This makes it easier to follow the flow of an e-mail exchange. If you reply to your friend's response, Google will attach your message to the bottom of the thread. It's easy to navigate through the e-mail program and follow specific conversations.

Another free service from Google is Google Docs, a storage database and collaborative word processing program originally called Writely. Creating a Docs account is free and allows you to store up to 5,000 documents and images online. Each document can be up to 500 kilobytes, and each embedded image can be up to 2 megabytes. You can share documents on Google Docs, which allows your friends to view and make changes to documents. You can store all your documents on Google's servers and access them wherever there's an Internet connection.

In the next section, we'll look at some specialized Google tools.

Advanced Searches
With an advanced search, you can use Google to retrieve the most relevant results for your keywords. You can search for documents written in a specific language or saved in a particular file format like .pdf or .rtf. You can tell Google where to look for the keywords, such as in page titles or headers. Google even allows you to limit searches to a single domain name. Each choice you make tells Google which index to use when returning your search results.

Opera Mobile 9.5 matches desktop web browsing

Built on the company's proprietary core architecture, Opera 9.5 features a revamped Presto rendering engine claimed to be 2.5 times faster than Microsoft's Internet Explorer Mobile with page load speeds "comparable" to a desktop experience. The Presto engine should also improve page responsiveness on pages with heavy use of languages such as JavaScript and Ajax.

"Opera Mobile is the result of Opera's unwavering commitment to a vision that puts a true web experience in the hands of mobile users," said Jon von Tetzchner, CEO, Opera Software.

"The improved functionality of Opera Mobile 9.5 and easy access to information has raised the bar on a more compelling mobile web browsing experience and will further stimulate mobile internet adoption," he said.

In addition to speed, Opera Mobile 9.5 adds convenient new features. Zoom and Pan, for instance, make reading content more comfortable, and there's now the ability to save pages for offline browsing, web address auto complete and a password manager. It also adds a full text history search, allowing you to find pages you forgot to bookmark previously, and Flash gets a look in thanks to Flash Lite 3.0 support.

Opera Widgets - mini applications - allow content to be accessed from the device's idle screen, and you can call numbers from web pages and send images from the internet via MMS or email. The new user interface even fades away when you don't need it, letting you see the web page using the whole screen.

Opera Mobile is currently shipped on more than 100 million phones with many of the world's top mobile OEMs and operators such as HTC, Motorola, Nokia, Samsung, Sony Ericsson, and T-Mobile. Opera Mobile 9.5 will be available on all major platforms including Symbian, Windows Mobile and Linux, as both a standalone browser and as a SDK.

According to market research firm, In-Stat, the smartphone market will grow at more than a 30 percent compound annual growth rate for the next five years globally, exceeding unit sales for laptops, as users experience significant value from their smartphones.

Computer Virus Resources

This document lists resources that might be useful for dealing with computer viruses. We have provided these lists for information and convenience only. As part of a Federally Funded Research and Development Center (FFRDC), the CERT® Coordination Center cannot endorse any products, services, or organizations.

Hoax and Chain Letter Databases

The CERT Coordination Center receives many calls and emails from people asking whether or not a message they received via email is true or not. The following list of resources can help you separate the hoaxes from the valid warnings. (In addition to these resources, there are also several papers in section VII. Papers and Articles that discuss how to identify a hoax.)

Virus Databases

The following databases can be useful if you are looking for specific information about a particular virus. Some of the databases are larger than others and some may have more detailed information than others do.

Virus Organizations and Publications

The following descriptions come from the web site of the organization or publication.
  • AVAR (Association of Anti Virus Asia Reasearchers)

    http://www.aavar.org/
  • The mission of the AVAR is to prevent the spread and damage caused by malicious software, and to develop cooperative relationship among anti malicious software experts in Asia. We are independent and not-for-profit organization which is oriented in Asia Pacific region. AVAR consists of prominent experts on computer virus from various areas such as Australia, China, Hong Kong, India, Japan, Korea, Philippines, Singapore,Taiwan, UK, and U.S.A. Our independence helps us to play an important role to fight against computer virus globally and to raise users' awareness on computer security issues.
  • EICAR (European Institute for Computer Anti-Virus Research)
  • http://www.eicar.com/
    EICAR combines universities, industry and media plus technical, security and legal experts from civil and military government and law enforcement as well as privacy protection organisations whose objectives are to unite non-commercial efforts against writing and proliferation of malicious code like computer viruses or Trojan Horses, and, against computer crime, fraud and the misuse of computers or networks, inclusive malicious exploitation of personnel data, based on a code of conduct.
  • Virus Bulletin
  • http://www.virusbtn.com/
    The international publication on computer virus prevention, recognition and removal. Virus Bulletin is the technical journal on developments in the field of computer viruses and anti-virus products
  • The WildList Organization International
  • http://www.wildlist.org/
    The mission of the Wildlist Organization is to provide accurate, timely and comprehensive information about "In the Wild" computer viruses to both users and product developers. The WildList, a list of computer viruses found in the wild and reported by a diverse group of over 40 qualified volunteers, is made available free of charge by the organization.

Anti-Virus Vendors

Anti-virus products provide important tools for protecting your systems from computer viruses. Since new viruses are created every day, it is important to keep your anti-virus product up to date. The following list of anti-virus vendors includes URLs from which you can download updates for anti-virus products and for definition files. Some vendors use email mailing lists to alert users of updates. Often, you can subscribe to these lists through the vendors web sites.

Anti-Spyware/Adware Vendors

Anti-Spyware/Adware products provide important tools for protecting your systems from computer Spyware and Adware. Since new spyware is created every day, it is important to keep your anti-Spyware/Adware product up to date. The following list of anti-Spyware/Adware vendors includes URLs from which you can download updates for anti-virus products and for definition files.

Computer Virus Part-2

Worms

A worm is a computer program that has the ability to copy itself from machine to machine. Worms use up computer time and network bandwidth when they replicate, and often carry payloads that do considerable damage. A worm called Code Red made huge headlines in 2001. Experts predicted that this worm could clog the Internet so effectively that things would completely grind to a halt.

A worm usually exploits some sort of security hole in a piece of software or the operating system. For example, the Slammer worm (which caused mayhem in January 2003) exploited a hole in Microsoft's SQL server. "Wired" magazine took a fascinating look inside Slammer's tiny (376 byte) program.

Worms normally move around and infect other machines through computer networks. Using a network, a worm can expand from a single copy incredibly quickly. The Code Red worm replicated itself more than 250,000 times in approximately nine hours on July 19, 2001 [Source: Rhodes].

The Code Red worm slowed down Internet traffic when it began to replicate itself, but not nearly as badly as predicted. Each copy of the worm scanned the Internet for Windows NT or Windows 2000 servers that did not have the Microsoft security patch installed. Each time it found an unsecured server, the worm copied itself to that server. The new copy then scanned for other servers to infect. Depending on the number of unsecured servers, a worm could conceivably create hundreds of thousands of copies.

The Code Red worm had instructions to do three things:

  • Replicate itself for the first 20 days of each month
  • Replace Web pages on infected servers with a page featuring the message "Hacked by Chinese"
  • Launch a concerted attack on the White House Web site in an attempt to overwhelm it [Source: eEye Digital Security]

Upon successful infection, Code Red would wait for the appointed hour and connect to the www.whitehouse.gov domain. This attack would consist of the infected systems simultaneously sending 100 connections to port 80 of www.whitehouse.gov (198.137.240.91).

The U.S. government changed the IP address of www.whitehouse.gov to circumvent that particular threat from the worm and issued a general warning about the worm, advising users of Windows NT or Windows 2000 Web servers to make sure they installed the security patch. .

Reported Viruses
According to a report by Symantec published in September 2007, the company received more than 212,000 reports of viruses, worms and other threats during the first half of 2007, a 185% increase over the second half of 2006.

A worm called Storm, which showed up in 2007, immediately started making a name for itself. Storm uses social engineering techniques to trick users into loading the worm on their computers. So far, it's working -- experts believe between one million and 50 million computers have been infected [source: Schneier].

When the worm is launched, it opens a back door into the computer, adds the infected machine to a botnet and installs code that hides itself. The botnets are small peer-to-peer groups rather than a larger, more easily identified network. Experts think the people controlling Storm rent out their micro-botnets to deliver spam or adware, or for denial-of-service attacks on Web sites.

In the next section, we'll look at patching your system and other things you can do to protect your computer

How to Protect Your Computer from Viruses

You can protect yourself against viruses with a few simple steps:

  • If you are truly worried about traditional (as opposed to e-mail) viruses, you should be running a more secure operating system like UNIX. You never hear about viruses on these operating systems because the security features keep viruses (and unwanted human visitors) away from your hard disk.
  • If you are using an unsecured operating system, then buying virus protection software is a nice safeguard.
  • If you simply avoid programs from unknown sources (like the Internet), and instead stick with commercial software purchased on CDs, you eliminate almost all of the risk from traditional viruses.
  • You should make sure that Macro Virus Protection is enabled in all Microsoft applications, and you should NEVER run macros in a document unless you know what they do. There is seldom a good reason to add macros to a document, so avoiding all macros is a great policy.
  • You should never double-click on an e-mail attachment that contains an executable. Attachments that come in as Word files (.DOC), spreadsheets (.XLS), images (.GIF), etc., are data files and they can do no damage (noting the macro virus problem in Word and Excel documents mentioned above). However, some viruses can now come in through .JPG graphic file attachments. A file with an extension like EXE, COM or VBS is an executable, and an executable can do any sort of damage it wants. Once you run it, you have given it permission to do anything on your machine. The only defense is never to run executables that arrive via e-mail.
Macro Virus Protection in Microsoft Word
Open the Options dialog from the Tools menu in
Microsoft Word and make sure that Macro Virus Protection is enabled. Newer versions of Word allow you to customize
the level of macro protection you use.

By following these simple steps, you can remain virus-free.

For more information on computer viruses and related topics, see the links on the next page.

An Anti-Virus Virus?
As we've discussed, worms attack known vulnerabilities in computer operating systems. Someone came up with the idea of turning worm tech around and created a variation of the MSBlast worm that would automatically patch the hole in the operating system and send itself out to other computers to do the same. Sounds like a good idea, right? Not so fast. MSBlast.D, Nachi or Welchia, as it was known, turned out to be more trouble than good. As it multiplied and scanned corporate networks for the vulnerability, it clogged network traffic[source: Lemos].


Computer Virus Part-1

Strange as it may sound, the computer virus is something of an Information Age marvel. On one hand, viruses show us how vulnerable we are -- a properly engineered virus can have a devastating effect, disrupting productivity and doing billions of dollars in damages. On the other hand, they show us how sophisticated and interconnected human beings have become.

A virus can spell doom for your computer.

For example, experts estimate that the Mydoom worm infected approximately a quarter-million computers in a single day in January 2004. Back in March 1999, the Melissa virus was so powerful that it forced Microsoft and a number of other very large companies to completely turn off their e-mail systems until the virus could be contained. The ILOVEYOU virus in 2000 had a similarly devastating effect. In January 2007, a worm called Storm appeared -- by October, experts believed up to 50 million computers were infected. That's pretty impressive when you consider that many viruses are incredibly simple.

­

When you listen to the news, you hear about many different forms of electronic infection. The most common are:

  • Viruses - A virus is a small piece of software that piggybacks on real programs. For example, a virus might attach itself to a program such as a spreadsheet program. Each time the spreadsheet program runs, the virus runs, too, and it has the chance to reproduce (by attaching to other programs) or wreak havoc.
  • E-mail viruses - An e-mail virus travels as an attachment to e-mail messages, and usually replicates itself by automatically mailing itself to dozens of people in the victim's e-mail address book. Some e-mail viruses don't even require a double-click -- they launch when you view the infected message in the preview pane of your e-mail software [source: Johnson].
  • Trojan horses - A Trojan horse is simply a computer program. The program claims to do one thing (it may claim to be a game) but instead does damage when you run it (it may erase your hard disk). Trojan horses have no way to replicate automatically.
  • Worms - A worm is a small piece of software that uses computer networks and security holes to replicate itself. A copy of the worm scans the network for another machine that has a specific security hole. It copies itself to the new machine using the security hole, and then starts replicating from there, as well.

In this article, we will discuss viruses -- both "traditional" viruses and e-mail viruses -- so that you can learn how they work and understand how to protect yourself.


Virus Origins

Computer viruses are called viruses because they share some of the traits of biological viruses. A computer virus passes from computer to computer like a biological virus passes from person to person.

Unlike a cell, a virus has no way to reproduce by itself. Instead, a biological virus must inject its DNA into a cell. The viral DNA then uses the cell's existing machinery to reproduce itself. In some cases, the cell fills with new viral particles until it bursts, releasing the virus. In other cases, the new virus particles bud off the cell one at a time, and the cell remains alive.

A computer virus shares some of these traits. A computer virus must piggyback on top of some other program or document in order to launch. Once it is running, it can infect other programs or documents. Obviously, the analogy between computer and biological viruses stretches things a bit, but there are enough similarities that the name sticks.

People write computer viruses. A person has to write the code, test it to make sure it spreads properly and then release it. A person also designs the virus's attack phase, whether it's a silly message or the destruction of a hard disk. Why do they do it?

There are at least three reasons. The first is the same psychology that drives vandals and arsonists. Why would someone want to break a window on someone's car, paint signs on buildings or burn down a beautiful forest? For some people, that seems to be a thrill. If that sort of person knows computer programming, then he or she may funnel energy into the creation of destructive viruses.

The second reason has to do with the thrill of watching things blow up. Some people have a fascination with things like explosions and car wrecks. When you were growing up, there might have been a kid in your neighborhood who learned how to make gunpowder. And that kid probably built bigger and bigger bombs until he either got bored or did some serious damage to himself. Creating a virus is a little like that -- it creates a bomb inside a computer, and the more computers that get infected the more "fun" the explosion.

The third reason involves bragging rights, or the thrill of doing it. Sort of like Mount Everest -- the mountain is there, so someone is compelled to climb it. If you are a certain type of programmer who sees a security hole that could be exploited, you might simply be compelled to exploit the hole yourself before someone else beats you to it.

Of course, most virus creators seem to miss the point that they cause real damage to real people with their creations. Destroying everything on a person's hard disk is real damage. Forcing a large company to waste thousands of hours cleaning up after a virus is real damage. Even a silly message is real damage because someone has to waste time getting rid of it. For this reason, the legal system is getting much harsher in punishing the people who create viruses.

Patch Tuesday
On the second Tuesday of every month, Microsoft releases a list of known vulnerabilities in the Windows operating system. The company issues patches for those security holes at the same time, which is why the day is known as "Patch Tuesday." Viruses written and launched on Patch Tuesday to hit unpatched systems are known as "zero-day" attacks. Thankfully, the major anti-virus vendors work with Microsoft to identify holes ahead of time, so if you keep your software up to date and patch your system promptly, you shouldn't have to worry about zero-day problems.

Virus History

Traditional computer viruses were first widely seen in the late 1980s, and they came about because of several factors. The first factor was the spread of personal computers (PCs). Prior to the 1980s, home computers were nearly non-existent or they were toys. Real computers were rare, and they were locked away for use by "experts." During the 1980s, real computers started to spread to businesses and homes because of the popularity of the IBM PC (released in 1982) and the Apple Macintosh (released in 1984). By the late 1980s, PCs were widespread in businesses, homes and college campuses.

The second factor was the use of computer bulletin boards. People could dial up a bulletin board with a modem and download programs of all types. Games were extremely popular, and so were simple word processors, spreadsheets and other productivity software. Bulletin boards led to the precursor of the virus known as the Trojan horse. A Trojan horse is a program with a cool-sounding name and description. So you download it. When you run the program, however, it does something uncool like erasing your disk. You think you are getting a neat game, but it wipes out your system. Trojan horses only hit a small number of people because they are quickly discovered, the infected programs are removed and word of the danger spreads among users.

The third factor that led to the creation of viruses was the floppy disk. In the 1980s, programs were small, and you could fit the entire operating system, a few programs and some documents onto a floppy disk or two. Many computers did not have hard disks, so when you turned on your machine it would load the operating system and everything else from the floppy disk. Virus authors took advantage of this to create the first self-replicating programs.

Early viruses were pieces of code attached to a common program like a popular game or a popular word processor. A person might download an infected game from a bulletin board and run it. A virus like this is a small piece of code embedded in a larger, legitimate program. When the user runs the legitimate program, the virus loads itself into memory and looks

Floppy disk in drive.
Floppy disks were factors in the
distribution of computer viruses.
around to see if it can find any other programs on the disk. If it can find one, it modifies the program to add the virus's code into the program. Then the virus launches the "real program." The user really has no way to know that the virus ever ran. Unfortunately, the virus has now reproduced itself, so two programs are infected. The next time the user launches either of those programs, they infect other programs, and the cycle continues.

If one of the infected programs is given to another person on a floppy disk, or if it is uploaded to a bulletin board, then other programs get infected. This is how the virus spreads.

The spreading part is the infection phase of the virus. Viruses wouldn't be so violently despised if all they did was replicate themselves. Most viruses also have a destructive attack phase where they do damage. Some sort of trigger will activate the attack phase, and the virus will then do something -- anything from printing a silly message on the screen to erasing all of your data. The trigger might be a specific date, the number of times the virus has been replicated or something similar.

In the next section, we will look at how viruses have evolved over the years.

Virus Evolution

As virus creators became more sophisticated, they learned new tricks. One important trick was the ability to load viruses into memory so they could keep running in the background as long as the computer remained on. This gave viruses a much more effective way to replicate themselves. Another trick was the ability to infect the boot sector on floppy disks and hard disks. The boot sector is a small program that is the first part of the operating system that the computer loads. It contains a tiny program that tells the computer how to load the rest of the operating system. By putting its code in the boot sector, a virus can guarantee it is executed. It can load itself into memory immediately and run whenever the computer is on. Boot sector viruses can infect the boot sector of any floppy disk inserted in the machine, and on college campuses, where lots of people share machines, they could spread like wildfire.

In general, neither executable nor boot sector viruses are very threatening any longer. The first reason for the decline has been the huge size of today's programs. Nearly every program you buy today comes on a compact disc. Compact discs (CDs) cannot be modified, and that makes viral infection of a CD unlikely, unless the manufacturer permits a virus to be burned onto the CD during production. The programs are so big that the only easy way to move them around is to buy the CD. People certainly can't carry applications around on floppy disks like they did in the 1980s, when floppies full of programs were traded like baseball cards. Boot sector viruses have also declined because operating systems now protect the boot sector.

Infection from boot sector viruses and executable viruses is still possible. Even so, it is a lot harder, and these viruses don't spread nearly as quickly as they once did. Call it "shrinking habitat," if you want to use a biological analogy. The environment of floppy disks, small programs and weak operating systems made these viruses possible in the 1980s, but that environmental niche has been largely eliminated by huge executables, unchangeable CDs and better operating system safeguards.

E-mail viruses are probably the most familiar to you. We'll look at some in the next section.

Other Threats

Viruses and worms get a lot of publicity, but they aren't the only threats to your computer's health. Malware is just another name for software that has an evil intent. Here are some common types of malware and what they might do to your infected computer:

  • Adware puts ads up on your screen.
  • Spyware collects personal information about you, like your passwords or other information you type into your computer.
  • Hijackers turn your machine into a zombie computer.
  • Dialers force your computer to make phone calls. For example, one might call toll 900-numbers and run up your phone bill, while boosting revenue for the owners of the 900-numbers. [source: Baratz and McLaughlin]

E-mail Viruses

Virus authors adapted to the changing computing environment by creating the e-mail virus. For example, the Melissa virus in March 1999 was spectacular. Melissa spread in Microsoft Word documents sent via e-mail, and it worked like this:

Someone created the virus as a Word document and uploaded it to an Internet newsgroup. Anyone who downloaded the document and opened it would trigger the virus. The virus would then send the document (and therefore itself) in an e-mail message to the first 50 people in the person's address book. The e-mail message contained a friendly note that included the person's name, so the recipient would open the document, thinking it was harmless. The virus would then create 50 new messages from the recipient's machine. At that rate, the Melissa virus quickly became the fastest-spreading virus anyone had seen at the time. As mentioned earlier, it forced a number of large companies to shut down their e-mail systems.

The ILOVEYOU virus, which appeared on May 4, 2000, was even simpler. It contained a piece of code as an attachment. People who double-clicked on the attachment launched the code. It then sent copies of itself to everyone in the victim's address book and started corrupting files on the victim's machine. This is as simple as a virus can get. It is really more of a Trojan horse distributed by e-mail than it is a virus.

The Melissa virus took advantage of the programming language built into Microsoft Word called VBA, or Visual Basic for Applications. It is a complete programming language and it can be programmed to do things like modify files and send e-mail messages. It also has a useful but dangerous auto-execute feature. A programmer can insert a program into a document that runs instantly whenever the document is opened. This is how the Melissa virus was programmed. Anyone who opened a document infected with Melissa would immediately activate the virus. It would send the 50 e-mails, and then infect a central file called NORMAL.DOT so that any file saved later would also contain the virus. It created a huge mess.

Microsoft applications have a feature called Macro Virus Protection built into them to prevent this sort of virus. With Macro Virus Protection turned on (the default option is ON), the auto-execute feature is disabled. So when a document tries to auto-execute viral code, a dialog pops up warning the user. Unfortunately, many people don't know what macros or macro viruses are, and when they see the dialog they ignore it, so the virus runs anyway. Many other people turn off the protection mechanism. So the Melissa virus spread despite the safeguards in place to prevent it.

In the case of the ILOVEYOU virus, the whole thing was human-powered. If a person double-clicked on the program that came as an attachment, then the program ran and did its thing. What fueled this virus was the human willingness to double-click on the executable.

Phishing and Social Engineering
While you may be taking steps to protect your computer from becoming infected by a virus, you may very well run into another, more insidious type of attack. Phishing and other social engineering attacks have been on the rise. Social engineering is a fancy term for someone trying to get you to give up your personal information -- online or in person -- so they can use it to steal from you. Anti-spam traps may catch e-mail messages coming from phishers, but the U.S. Computer Emergency Readiness Team says the best way for you to beat them at their own game is to be wary. And never give out your personal or financial information online.

Now that we've covered e-mail viruses, let's take a look at worms.

11 February 2008

Get Paid For Every Visitor To Your Site With NetAudioAds

It’s been a while since I discovered a new revenue scheme I thought was worth sharing with readers, so I’m glad I’ve found an interesting one so early in the New Year. NetAudioAds is a new scheme that will soon be leaving beta that adds audio ads to sites.

The ads are only 5 seconds long, so they should be acceptable for most sites and are only placed once per visitor. More importantly, the payout is per play, not per click, so if you have a good amount of traffic the payout could be quite substantial.

The ads I’ve heard so far come from companies like Taco Bell, HBO and Harley Davidson. I’ve added the code to my site so that I’m ready for when the service starts. However, I’m promoting it early to try and get the help of other readers to try out the system. There’s also a 2-level referral affiliate scheme, so I think it’s also worth spreading the word to your own readers as well, as even if the system isn’t right for your site it doesn’t mean that you can’t still generate an income from the scheme.

To find out more about NetAudioAds then follow the links, and let me know if how you get on if you signup.

A compiler is a computer program (or set of programs) that translates text written in a computer language (the source language) into another computer language (the target language). The original sequence is usually called the source code and the output called object code. Commonly the output has a form suitable for processing by other programs (e.g., a linker), but it may be a human-readable text file.



see Compiler (anime). A diagram of the operation of a typical multi-language, multi-target compiler.

The most common reason for wanting to translate source code is to create an executable program. The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language or machine language). A program that translates from a low level language to a higher level one is a decompiler. A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter. A language rewriter is usually a program that translates the form of expressions without a change of language.

A compiler is likely to perform many or all of the following operations: lexical analysis, preprocessing, parsing, semantic analysis, code generation, and code optimization.


Software for early computers was exclusively written in assembly language for many years. Higher level programming languages were not invented until the benefits of being able to reuse software on different kinds of CPUs started to become significantly greater than the cost of writing a compiler. The very limited memory capacity of early computers also created many technical problems when implementing a compiler.

Towards the end of the 1950s, machine-independent programming languages were first proposed. Subsequently, several experimental compilers were developed. The first compiler was written by Grace Hopper, in 1952, for the A-0 programming language. The FORTRAN team led by John Backus at IBM is generally credited as having introduced the first complete compiler, in 1957. COBOL was an early language to be compiled on multiple architectures, in 1960.[1]

In many application domains the idea of using a higher level language quickly caught on. Because of the expanding functionality supported by newer programming languages and the increasing complexity of computer architectures, compilers have become more and more complex.

Early compilers were written in assembly language. The first self-hosting compiler — capable of compiling its own source code in a high-level language — was created for Lisp by Hart and Levin at MIT in 1962.[2] Since the 1970s it has become common practice to implement a compiler in the language it compiles, although both Pascal and C have been popular choices for implementation language. Building a self-hosting compiler is a bootstrapping problem -- the first such compiler for a language must be compiled either by a compiler written in a different language, or (as in Hart and Levin's Lisp compiler) compiled by running the compiler in an interpreter.



How To Get Traffic From Yahoo And Other Search Engines?

Even though Google is the most popular search engine with 55% market share in the US and 75% market share in the UK, I still can’t work out why I get next to no traffic from Yahoo and other search engines.

Over the last month according to Google Analytics my top 5 traffic sources have been Google 72%, Direct 8%, Yahoo 4%, StumbleUpon 2% and Search Organic 2% (anyone know what this is?).

I would love to work out why my Yahoo Traffic is 18x less than Google, and to find ways to increase this. Every now and then I get a Yahoo spike which takes my traffic up to 8-10%, but it never lasts. So far I’ve followed Tony’s advice and submitted my site to Yahoo News, which might help.

Does anyone have any other tips for increasing Yahoo traffic which have proven to be successful?

How To Create A Massive Spike of Traffic

Everyone knows that social media drives crippling traffic, especially if it’s from Digg or StumbleUpon. Get onto the frontpage of digg with 200 votes and your server easily overloads. This is often the case if you’re not on dedicated hosting. Are you prepared to experience this kind of traffic? Then you want to Subvert and Profit! It’s the fastest way to funnel an avalanche of real visitors and not just search engine bots to your site. These Eyeballs are the product-buying, adsense clicking, affiliate link stomping variety.

Subvert and Profit prides itself as the black market in the currency of social media traffic purchase. Sign up with them as an Advertiser and you can purchase diggs by the bucketload. Simply fork over $2.00 per digg and bam! Instant digg avalanche.

It takes about 50 diggs to reach the frontpage of Digg.com in 24 hours. That means you’ll have to spend $100 for 50 diggs. Spend $200 for 1000 Diggs. If you got the warchest, blow $1000 and you just bought yourself fame and popularity.

So how does it work? Subvert and Profit also recruits an army of diggers and stumbleuponers. It pays these folks $1.00 per list of votes. You can earn $$$ simply by digging stories advertisers want dug. This army is growing everyday and they’re the foot soliders of companies that seek brand awareness- regardless of how cool or crappy the product is.

I haven’t tried Subvert yet, but my buddy did. He spent $300 last month and his site went down overnight on account that digg traffic overwhelmed his cheapo $3.75 hosting service. Looks like it worked!

Digg and social media networks will look into stopping this. That I’m sure. Gaming their system dilutes the value of their product. Let’s see if Subvert and Profit gets dugg… or buried!

Speed up Windows XP

1. Disable Indexing Services

Indexing Services is a small little program that uses large amounts of RAM and can often make a computer endlessly loud and noisy. This system process indexes and updates lists of all the files that are on your computer. It does this so that when you do a search for something on your computer, it will search faster by scanning the index lists. If you don’t search your computer often, or even if you do search often, this system service is completely unnecessary. To disable do the following:

  • Go to Start
  • Click Settings
  • Click Control Panel
  • Double-click Add/Remove Programs
  • Click the Add/Remove Window Components
  • Uncheck the Indexing services
  • Click Next

2. Optimise Display Settings

Windows XP can look sexy but displaying all the visual items can waste system resources. To optimise:

  • Go to Start
  • Click Settings
  • Click Control Panel
  • Click System
  • Click Advanced tab
  • In the Performance tab click Settings
  • Leave only the following ticked:
  • Show shadows under menus
  • Show shadows under mouse pointer
  • Show translucent selection rectangle
  • Use drop shadows for icons labels on the desktop
  • Use visual styles on windows and buttons

3. Speedup Folder Browsing

You may have noticed that everytime you open my computer to browse folders that there is a slight delay. This is because Windows XP automatically searches for network files and printers everytime you open Windows Explorer. To fix this and to increase browsing significantly:

  • Open My Computer
  • Click on Tools menu
  • Click on Folder Options
  • Click on the View tab.
  • Uncheck the Automatically search for network folders and printers check box
  • Click Apply
  • Click Ok
  • Reboot your computer

4. Disable Performance Counters

Windows XP has a performance monitor utility which monitors several areas of your PC’s performance. These utilities take up system resources so disabling is a good idea.

To disable:

  • download and install the Extensible Performance Counter List
  • Then select each counter in turn in the ‘Extensible performance counters’ window and clear the ‘performance counters enabled’ checkbox at the bottom.button below

5. Improve Memory Usage

Cacheman Improves the performance of your computer by optimizing the disk cache, memory and a number of other settings.

Once Installed:

  • Go to Show Wizard and select All
  • Run all the wizards by selecting Next or Finished until you are back to the main menu. Use the defaults unless you know exactly what you are doing
  • Exit and Save Cacheman
  • Restart Windows

6. Optimise your internet connection

There are lots of ways to do this but by far the easiest is to run TCP/IP Optimizer.

  • Download and install
  • Click the General Settings tab and select your Connection Speed (Kbps)
  • Click Network Adapter and choose the interface you use to connect to the Internet
  • Check Optimal Settings then Apply
  • Reboot

7. Optimise Your Pagefile

If you give your pagefile a fixed size it saves the operating system from needing to resize the page file.

  • Right click on My Computer and select Properties
  • Select the Advanced tab
  • Under Performance choose the Settings button
  • Select the Advanced tab again and under Virtual Memory select Change
  • Highlight the drive containing your page file and make the initial Size of the file the same as the Maximum Size of the file.

Windows XP sizes the page file to about 1.5X the amount of actual physical memory by default. While this is good for systems with smaller amounts of memory (under 512MB) it is unlikely that a typical XP desktop system will ever need 1.5 X 512MB or more of virtual memory. If you have less than 512MB of memory, leave the page file at its default size. If you have 512MB or more, change the ratio to 1:1 page file size to physical memory size.

8. Run BootVis - Improve Boot Times

BootVis will significantly improve boot times

  • Download and Run
  • Select Trace
  • Select Next Boot and Driver Trace
  • A Trace Repetitions screen will appear, select Ok and Reboot
  • Upon reboot, BootVis will automatically start, analyze and log your system’s boot process. When it’s done, in the menu go to Trace and select Optimize System
  • Reboot.
  • When your machine has rebooted wait until you see the Optimizing System box appear. Be patient and wait for the process to complete


9. Remove the Desktop Picture

Your desktop background consumes a fair amount of memory and can slow the loading time of your system. Removing it will improve performance.

  • Right click on Desktop and select Properties
  • Select the Desktop tab
  • In the Background window select None
  • Click Ok


10. Remove Fonts for Speed

Fonts, especially TrueType fonts, use quite a bit of system resources. For optimal performance, trim your fonts down to just those that you need to use on a daily basis and fonts that applications may require.

  • Open Control Panel
  • Open Fonts folder
  • Move fonts you don’t need to a temporary directory (e.g. C:\FONTBKUP?) just in case you need or want to bring a few of them back. The more fonts you uninstall, the more system resources you will gain.

Hope you find these 10 tips useful please leave a comment below and please share any other tips you may have with other readers.

Feb 07 Update: This guide has been updated and augmented in The Complete Guide To Optimising Windows XP



Computer software

Computer software is a general term used to describe a collection of computer programs, procedures and documentation that perform some task on a computer system.[1] The term includes application software such as word processors which perform productive tasks for users, system software such as operating systems, which interface with hardware to provide the necessary services for application software, and middleware which controls and co-ordinates distributed systems.

Types

Practical computer systems divide software systems into three major classes: system software, programming software and application software, although the distinction is arbitrary, and often blurred.


Program and library

A program may not be sufficiently complete for execution by a computer. In particular, it may require additional software from a software library in order to be complete. Such a library may include software components used by stand-alone programs, but which cannot work on their own. Thus, programs may include standard routines that are common to many programs, extracted from these libraries. Libraries may also include 'stand-alone' programs which are activated by some computer event and/or perform some function (e.g., of computer 'housekeeping') but do not return data to their calling program. Libraries may be called by one to many other programs; programs may call zero to many other programs.

The Linux

Linux (commonly pronounced IPA: /ˈlɪnəks/ in English; variants exist[1]) is a Unix-like computer operating system. Linux is one of the most prominent examples of free software and open source development: typically all underlying source code can be freely modified, used, and redistributed by anyone.[2]

The name "Linux" comes from the Linux kernel, started in 1991 by Linus Torvalds. The system's utilities and libraries usually come from the GNU operating system, started in 1983 by Richard Stallman. The GNU contribution is the basis for the controversial alternative name GNU/Linux.[3]

Predominantly known for its use in servers, Linux is supported by corporations such as Dell, Hewlett-Packard, IBM, Novell, Oracle Corporation, Red Hat, and Sun Microsystems. It is used as an operating system for a wide variety of computer hardware, including desktop computers, supercomputers,[4] video game systems, such as the PlayStation 2 and PlayStation 3, several arcade games, and embedded devices such as mobile phones and routers.



History

See also: History of Linux

The Unix operating system was conceived and implemented in the 1960s and first released in 1970. Its wide availability and portability meant that it was widely adopted, copied and modified by academic institutions and businesses, with its design being influential on authors of other systems.

Richard Stallman, founder of the GNU project
Richard Stallman, founder of the GNU project

The GNU Project, started in 1984, had the goal of creating a "complete Unix-compatible software system"[5] made entirely of free software. In 1985, Richard Stallman created the Free Software Foundation and developed the GNU General Public License (GNU GPL). Many of the programs required in an OS (such as libraries, compilers, text editors, a Unix shell, and a windowing system) were completed by the early 1990s, although low level elements such as device drivers, daemons, and the kernel were stalled and incomplete.[6] Linus Torvalds has said that if the GNU kernel had been available at the time (1991), he would not have decided to write his own.



MINIX

Linus Torvalds, creator of the Linux kernel.
Linus Torvalds, creator of the Linux kernel.

MINIX, a Unix-like system intended for academic use, was released by Andrew S. Tanenbaum in 1987. While source code for the system was available, modification and redistribution were restricted (that is not the case today). In addition, MINIX's 16-bit design was not well adapted to the 32-bit design of the increasingly cheap and popular Intel 386 architecture for personal computers.

In 1991, Torvalds began to work on a non-commercial replacement for MINIX while he was attending the University of Helsinki.[8] This eventually became the Linux kernel.

In 1992, Tanenbaum posted an article on Usenet claiming Linux was obsolete. In the article, he criticized the operating system as being monolithic in design and being tied closely to the x86 architecture and thus not portable, as he described "a fundamental error."[9] Tanenbaum suggested that those who wanted a modern operating system should look into one based on the microkernel model. The posting solicited the response of Torvalds and Ken Thompson, one of the founders of Unix, which resulted in a well known debate over the microkernel and monolithic kernel designs.[9]

Linux was dependent on the MINIX user space at first. With code from the GNU system freely available, it was advantageous if this could be used with the fledgling OS. Code licensed under the GNU GPL can be used in other projects, so long as they also are released under the same or a compatible license. In order to make the Linux kernel compatible with the components from the GNU Project, Torvalds initiated a switch from his original license (which prohibited commercial redistribution) to the GNU GPL.[10] Linux and GNU developers worked to integrate GNU components with Linux to make a fully functional and free operating system.



Commercial and popular uptake

Today Linux is used in numerous domains, from embedded systems[11] to supercomputers,[12] and has secured a place in server installations with the popular LAMP application stack.[13] Torvalds continues to direct the development of the kernel. Stallman heads the Free Software Foundation, which in turn supports the GNU components. Finally, individuals and corporations develop third-party non-GNU components. These third-party components comprise a vast body of work and may include both kernel modules and user applications and libraries. Linux vendors and communities combine and distribute the kernel, GNU components, and non-GNU components, with additional package management software in the form of Linux distributions.



Design

Linux is a modular Unix-like operating system. It derives much of its basic design from principles established in Unix during the 1970s and 1980s. Linux uses a monolithic kernel, the Linux kernel, which handles process control, networking, and peripheral and file system access. Device drivers are integrated directly with the kernel.

Much of Linux's higher-level functionality is provided by separate projects which interface with the kernel. The GNU userland is an important part of most Linux systems, providing the shell and Unix tools which carry out many basic operating system tasks. On top these tools form a Linux system with a graphical user interface that can be used, usually running in the X Window System.

Google News - Sci/Tech

Search if you dont find what you want