Saturday, May 31, 2008

Installing RAM in your Laptop

This guide was developed to instruct readers on the proper procedures for installing memory modules into a laptop computer. It includes step-by-step instructions for the physical installation of a memory module into those laptop systems that have an access panel to the memory modules. Not all laptops have this type of access. If yours does not, then it will probably require installation from an authorized technician.

For additional information about installing computer memory into your computer system, it is recommended that you read any user manuals that came with your computer for specific procedures that may be required. For more information for purchasing memory upgrades for a computer, please refer to the Before You Buy Memory upgrades article.

1. Turn off the computer and remove all power cords from the computer system.

2. Locate the panel used for access to the memory modules. This is generally located on the bottom of the laptop computer. Refer to your laptop instruction manuals for locating the panel.

3. Remove any screws that the panel in place and place somewhere safe to prevent losing it.

4. Remove the panel from the laptop and set aside.

5. If replacing or upgrading an existing memory module, remove the memory modules by undoing and module clamps and gently lifting the edge of the module to a 45-degree angle and then pulling the module out of the slot.


6. Align the notch of the memory module with that of the memory slot and gently insert the module into the slot at a 45-degree angle.

7. Once all the pins are in the slot, gently rotate the module down flat until the clamps lock into the module into place.

8. Replace the memory access panel onto the laptop computer.

9. Replace any screws or fasteners that hold the panel in place.


10. Replace the power cord and power up your computer system.

Once the memory has been installed into the computer, the physical process is complete. When the computer is powered back up, it may be necessary to go into the computer BIOS to let the system properly detect the new RAM that has been installed in the computer. Please refer to the user manual for the computer system for any additional information.

Friday, May 30, 2008

Speed up your modem

Right Click My Computer
Select Properties
Select Device manager
Select Ports (if you cant find any modem port, then directly go to modem) Go to your modem port
Click on bits per second and change it to maximum
Click Flow control and change it to none
In ports --> Go to Advanced --> make sure Use FIFO buffers is checked --> and receive and transmit buffers should be on max.

Thats it, your modem speed is increased and now surf the internet with new speed :).

How to Buy a Computer in 2008

If you want to know how buy a computer this year, you make up a small percentage of people that will actually do their homework to prevent making a big mistake! Many will purchase a computer that will not stand up to their needs - it will either be inadequate or be way more than they needed. (And in the latter case, they will also spend hundreds more than they wanted to!) Avoid pain and regret and learn how to buy a computer perfect for your needs today!

Step1
Learn your definitions! Take some time to get to know the basics of computer “lingo” so you cannot be tricked into buying more computer than you need. The salesman in the store likely profits from upgrading you and before you know it, you’re walking out the door with a computer suited for a professional animator when all you needed was to do the basic computer functions like e-mail and simple web surfing! Don’t let this happen to you.

Step2
Know your type! This is so important. There are 4 different types of computer users: Home, Home Office, Media, and Media Creator. You may fall into one or two categories which might make you an exception, but the idea is that knowing your target needs will keep your budget in tact and give you the information needed to tweak your decision when the “pressure” is on at the store.

Step3
Set your budget. If you walk into the store without knowing your budget, you’re just asking to spend more than you need to. The salesman will give you many reasons to overpay. It goes something like this: “This is the last one on the floor”, “This model is selling fast, I don’t know if it will be here tomorrow if you wait”, “I can give you this model for $100 less if you buy now”, “You won’t find this deal again”, and it goes on and on. After you set your budget and know the “ballpark” range you expect to pay, you won’t feel like you are in such a rush to buy.

Step4
Know your choices and their price range. This step is kind of integrated into the last one but it bears mentioning on its own. There are different types of computers since there are different types of users. Now that you know your user type, you can zone in on your computer type and its price range. You may discover that a Mac is better than a PC for your needs. That can give you valuable information to target certain stores. Not all stores sell Mac computers so this information will save you time before you start shopping. If you surf a few minutes on line, you will easily see what the price range will be for the computer needs you have.

Step5
Shop around. Treat your computer buying experience like shopping for a car. This time of year (and beyond), the newer computers are pushing out last year’s models but since you now know your needs (after figuring out #2), you can benefit from the “blow out” sales you will see as you shop. Take your time.

Step6
Don't forget peripherals! Many people go out, buy a computer and then come home finding out they needed to consider things like a printer, router, new software because the old software doesn’t run on the new machine, and other incompatibility issues. It is important to think through the extended needs that might come about when buying a new computer.

Step7
Stick to your checklist. Bring a copy of your needs (like a cheat sheet) on the shopping trips with you. If you have a list of the specs you are interested in, you can easily see which computers meet your needs while you are in the store and eliminate the ones that don’t. This will keep you from getting confused. A side benefit to this is to show the salesman that you know what you are looking for and it will discourage them from talking you into buying more computer than you need!

I hope this list has helped you learn how to buy a computer in 2008 and you have become more informed on what necessary tools are needed to make your next computer buying experience a painless and profitable one! Good luck!

Guide to maintain your computer speed

1. Don't turn your computer off with the power switch until Windows has shut down.

The one exception to this rule is when your computer locks up and your hard drive is not running (hard drive light is not blinking). In this situation, you can turn the power off without harmful effects to the hard drive. As cutting the power can also result in lost data or Windows files, you should only do this when you have to.

Following this rule will prevent permanent hard drive defects caused by the hard drive heads contacting the surface of the drive disc, and it will prevent a host of Windows problems.
Whenever possible, recover from crashes by pressing the Ctrl + Alt + Delete keys at the same time. Press them again to reboot your computer.

2. I highly recommend that you purchase an UPS (uninteruptable power supply) for your computer. This will keep your computer from crashing during power outages, and will protect your computer from low and high voltage occurrences.
An UPS is far superior to a surge protector and will save your computer from almost any power type of disaster. (See #1 above for what happens when your computer crashes.)

3. Backup, backup, backup, any data you cannot afford to lose to at least two separate physical drives. So backup data to floppies, Zip disks, CD-RWs etc.
The time to backup is when you create something you can't afford to lose. Don't wait until tomorrow.

4. Run Scandisk and Defragment at least once a month. This will keep your hard drive healthy and prevent crashes. Alternatively, purchase Norton Utilities and use it to keep your hard drive healthy.

5. Do keep at least 500 MBs of your C: drive free for Windows to use.

If you do not have enough free space you will choke Windows and it will start dumping data to your hard drive, or it will just get really, really, slow.

You can also use Cleansweep included in Norton Utilities to clean up your drive. If you do use Cleansweep or another hard drive cleaner, do not delete shared files unless you back them up. The cleaners do a rotten job of knowing if another program uses shared files.

6. Do not let a lot of programs load up when you start your computer. They use valuable memory and Windows Resources (Windows internal workspace).

All programs in your Windows System Tray (in the lower left of your screen) are running on your computer. Close them if you don't need them or run them and configure them not to load when you boot up.

Other programs running in the background can be found by pressing Ctrl + Alt + Delete at the same time.

7. Do use a virus checker regularly. Everyone should use a virus checker. The best type of protection is continuous monitoring from a dedicated anti-virus program like Norton Antivirus.

The second best thing is to use is the free online virus checker Housecall provided by Trend Micro.

8. If you have a high speed Internet connection you need a firewall program. A firewall program keeps those who want to hijack your computer from gaining access to your system. You really do not want someone else running your computer.

I suggest you purchase and run Norton's Personal Firewall program. Your firewall should boot up with your computer to protect it from invasion. A free personal firewall program is available from Tiny Software.

Thursday, May 29, 2008

Guide for Fixing Computer Game Problems

New Game Blues

If you have bought a new game recently, and popped it in to your computer expecting gaming bliss, only to find that it crashes or locks up your whole system, then this article is for you.

Step One - Get Some Help

Maybe the game manufacturer has already updated the game and you no longer have a problem. So, the first thing you should do is visit the game manufacturer's web site and determine if there is a "game patch" to download. Also, visit the manufacturer's support area and see if there is a FAQ (frequently asked questions) or other tips that might help you.

Another good resource is game "fan" sites. For almost all recent games, third parties have developed web sites with a host of information on the new game. These sites can be found through the game manufacturer's site links or by searching on the name of the game. Many of these sites have bulletin or discussion boards, and most will have an area dedicated to game problems. Don't be shy about posting your problem if no one else has posted it.

Step Two - Identifying the Problem

So how does one go about coaxing a new game to run?
Do you promise to make amends for past deeds if only the game will work?
Maybe you could wiggle some cables or something?
Or should you just give up and run down to the computer store and buy a new computer, motherboard, or video card?

The first thing you should know is, "If your computer worked fine before loading the new game, then the game is the cause of the problem, not the computer".
Provided that your computer meets the manufacturer's minimum specifications (available on the game box) for running the game, you should not have to buy any new hardware.

So instead of pulling your hair out, apply the steps below in the order listed. After each step, you should try to run your game to see if the problem is corrected.

Warning - While you may choose to perform all steps, you should be aware that the steps progressively become riskier and could cause your computer to become unstable or unbootable if not performed correctly.

Step Three - Update and Test DirectX Drivers

Microsoft's DirectX is required to run most new and old games. It can be obtained free from Microsoft's Windows Update Page. The majority of games will include a version of DirectX on the game's CD-ROM. If the new game is well behaved it will ask if you want to load its version of DirectX.

[Warning - If you have a newer version of DirectX already on your system - don't load an older version. This could corrupt current, or install older, drivers. Most games will usually work fine with a newer version of DirectX than the game requires.]

OK. Good Advice. So how do you know what version of DirectX you have? Use your file manager to open the DirectX directory and click on a program called DXDIAG.EXE. Use search if you dunt know where the file is.

This will open the DirectX Diagnostic Tool which not only reports the version of DirectX you have loaded (on the bottom of the first tab), it also lets you test your video and audio systems for conflicts. You should definitely click on all of the tabs and perform all the tests to make sure there are no problems.

Step Four - Obtain the Latest Video and Sound Drivers

You have a required, or newer version, of DirectX and the DirectX Diagnostic Tool doesn't report any problems, but you game is still crashing. Now what?

The next step is to obtain the latest video and sound drivers. While DirectX/Windows does have some drivers included, you should visit your audio and video card manufacturers' web sites to look for updated drivers. These are usually available in the technical support section of the site and can be downloaded free.

Another possibility for video drivers is to visit the graphic chip manufacturer's site (which you should only do if your graphic card manufacture is doing a poor job of releasing new drivers), e.g. if you have a NVidia GeForce card you could visit NVidia's web site.

Step Five - Adjust BIOS Settings

You loaded the latest video and sound drivers and the game still doesn't work - time to check those BIOS settings.
On most desktops, the BIOS settings screen is activated by pressing the Delete key during the startup boot check of system RAM. Once you are in the BIOS you can try changing the following items, one at a time, to see if they enable your game to work.

Your BIOS probably has various sections and you will have to locate these attributes to change them. No changes will be made in the BIOS unless they are saved before you exit. So if you make BIOS changes, but then decide you really don't want to save them, don't save the changes when you exit.

Warning - The following changes could keep your computer from operating properly. Before changing an item, write down your original setting. Do not change any settings other than those described. Your BIOS may or may not have the following items.

Recommended Settings

1. Enable "Assign IRQ to VGA" .
2. Disable "VGA Palette Snoop".
3. Disable "Video Bios Shadow" and video memory address shadowing like "C800-CBFFF".
4. "AGP Aperture" size should be one-half of available system RAM.
5. Reduce "AGP Speed" to 2/3 (especially good for overclockers).
6. Un-overclock your CPU (of course this is a last resort).

Last Resorts

If nothing else has worked, than the solutions listed below are the last things you should try. You should probably seek help again from your manufacture and other users before you try these ideas.

Warning - These solutions could definitely keep your system from operating properly and should not be undertaken by novices.

1. Move your PCI video card into a different slot. Some PCI video cards will pick up interference from the cards next to them. Trying a different slot might help.
2. Flash your video card's BIOS. New video cards have a flashable BIOS just like a motherboard's. If there is an update to your BIOS it will be available at your video card manufacturer's web site.
3. Flash your motherboard's BIOS. Any BIOS upgrades will be available at your motherboard manufacturer's web site.

Laptop Buying Guide - few things to consider before you decide to buy a laptop

This guide is divided into several different chapters which include: what to consider before purchasing a laptop or notebook computer, recommended laptop features, an explanation of laptop video memory and how it effects screen resolution, a notebook CPU speed index guide, details on the mobile CPUs that are in the speed index, hints on buying a laptop, and a list of other laptop/notebook computer resources.

What to Consider Before Purchasing a Laptop Computer

1. Portability - The main reason to have a laptop or notebook computer is portability - the need to take your entire computer from one place to another. If you don't need portability, then you should probably buy a desktop.

2. Expense - Laptop computers cost almost twice as much as comparably equipped desktops. Shocking isn't it?
You can actually buy two comparably equipped desktops for the price of one laptop. So if you have to have a computer in two separate places, you would be better off with two desktops (if they were reasonably close together you could hook them together in a wired or wireless local area network (LAN).

3. Speed - Laptops are 20-30% slower than a desktop with the same features (CPU, hard drive capacity, etc.). Slower CPUs, motherboards, hard drives, and video systems all contribute to the speed loss.

4. Upgradeability - Laptop computers are mostly non-upgradeable. Whatever CPU, video card (built into the motherboard), sound card (also built-in), and screen, that come with the laptop are the same parts the laptop will end with.
While it is possible to upgrade main memory, and removable drives, the upgrades can cost twice as much as a desktop's. Upgrades using PC cards or docking stations are also very expensive.

You can also upgrade newer laptops through their USB, USB 2.0, and Firewire ports. Only USB 2.0 and Firewire ports can run high speed devices e.g. hard drives and DVD drives. Again, all external drives cost almost twice as much as an internal drive.

5. Serious Gaming. You will need to spend at least $2500 for a laptop that can play current games at a respectable speed. I don't recommend laptops for serious gaming no matter how much you are willing to spend. Why?

Because if you love to play games, about 1-1.5 years after you purchase your laptop you will find it isn't fast enough to keep up with the latest new game. At that time, you will regret buying a gaming laptop. However, if you have the money, and want to throw down $2500 every year or so, more power to you.

On the other hand, if your computer budget is limited, it's better to have a functional laptop and spend your gaming dollars on an upgradeable desktop.

Computer programming

Computer programming (often shortened to programming or coding) is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language. The code may be a modification of an existing source or something completely new. The purpose of programming is to create a program that exhibits a certain desired behavior (customization). The process of writing source codes requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.

Programming languages

Different programming languages support different styles of programming (called programming paradigms). The choice of language used is subject to many considerations, such as company policy, suitability to task, availability of third-party packages, or individual preference. Ideally, the programming language best suited for the task at hand will be selected. Trade-offs from this ideal involve finding enough programmers who know the language to build a team, the availability of compilers for that language, and the efficiency with which programs written in a given language execute.

Allen Downey, in his book How To Think Like A Computer Scientist, writes:

The details look different in different languages, but a few basic instructions appear in just about every language: input: Get data from the keyboard, a file, or some other device. output: Display data on the screen or send data to a file or other device. math: Perform basic mathematical operations like addition and multiplication. conditional execution: Check for certain conditions and execute the appropriate sequence of statements. repetition: Perform some action repeatedly, usually with some variation.

Many computer languages provide a mechanism to call functions provided by libraries. Provided the functions in a library follow the appropriate runtime conventions (eg, method of passing arguments), then these functions may be written in any other language.

History of programming Wired plug board for an IBM 402 Accounting Machine.The earliest programmable machine (that is a machine whose behavior can be controlled by changes to a "program") was Al-Jazari's programmable humanoid robot in 1206. Al-Jazari's robot was originally a boat with four automatic musicians that floated on a lake to entertain guests at royal drinking parties. His mechanism had a programmable drum machine with pegs (cams) that bump into little levers that operate the percussion. The drummer could be made to play different rhythms and different drum patterns by moving the pegs to different locations.

The Jacquard Loom, developed in 1801, is often quoted as a source of prior art. The machine used a series of pasteboard cards with holes punched in them. The hole pattern represented the pattern that the loom had to follow in weaving cloth. The loom could produce entirely different weaves using different sets of cards. The use of punched cards was also adopted by Charles Babbage around 1830, to control his Analytical Engine.

This innovation was later refined by Herman Hollerith who, in 1896 founded the Tabulating Machine Company (which became IBM). He invented the Hollerith punched card, the card reader, and the key punch machine. These inventions were the foundation of the modern information processing industry. The addition of a plug-board to his 1906 Type I Tabulator allowed it to do different jobs without having to be rebuilt (the first step toward programming). By the late 1940s there were a variety of plug-board programmable machines, called unit record equipment, to perform data processing tasks (card reading). The early computers were also programmed using plug-boards.

A box of punch cards with several program decks.The invention of the Von Neumann architecture allowed computer programs to be stored in computer memory. Early programs had to be painstakingly crafted using the instructions of the particular machine, often in binary notation. Every model of computer would be likely to need different instructions to do the same task. Later assembly languages were developed that let the programmer specify each instruction in a text format, entering abbreviations for each operation code instead of a number and specifying addresses in symbolic form (e.g. ADD X, TOTAL). In 1954 Fortran, the first higher level programming language, was invented. This allowed programmers to specify calculations by entering a formula directly (e.g. Y = X*2 + 5*X + 9). The program text, or source, was converted into machine instructions using a special program called a compiler. Many other languages were developed, including ones for commercial programming, such as COBOL. Programs were mostly still entered using punch cards or paper tape. (See computer programming in the punch card era). By the late 1960s, data storage devices and computer terminals became inexpensive enough so programs could be created by typing directly into the computers. Text editors were developed that allowed changes and corrections to be made much more easily than with punch cards.

As time has progressed, computers have made giant leaps in the area of processing power. This has brought about newer programming languages that are more abstracted from the underlying hardware. Although these more abstracted languages require additional overhead, in most cases the huge increase in speed of modern computers has brought about little performance decrease compared to earlier counterparts. The benefits of these more abstracted languages is that they allow both an easier learning curve for people less familiar with the older lower-level programming languages, and they also allow a more experienced programmer to develop simple applications quickly. Despite these benefits, large complicated programs, and programs that are more dependent on speed still require the faster and relatively lower-level languages with today's hardware. (The same concerns were raised about the original Fortran language.)
Throughout the second half of the twentieth century, programming was an attractive career in most developed countries. Some forms of programming have been increasingly subject to offshore outsourcing (importing software and services from other countries, usually at a lower wage), making programming career decisions in developed countries more complicated, while increasing economic opportunities in less developed areas. It is unclear how far this trend will continue and how deeply it will impact programmer wages and opportunities.

Modern programming

Quality requirements

Whatever the approach to the software development may be, the program must finally satisfy some fundamental properties; bearing them in mind while programming reduces the costs in terms of time and/or money due to debugging, further development and user support. Although quality programming can be achieved in a number of ways, following five properties are among the most relevant:

  • Efficiency: it is referred to the system resource consumption (computer processor, memory, slow devices, networks and to some extent even user interaction) which must be the lowest possible.
  • Reliability: the results of the program must be correct, which not only implies a correct code implementation but also reduction of error propagation (e.g. resulting from data conversion) and prevention of typical errors (overflow, underflow or zero division).
  • Robustness: a program must anticipate situations of data type conflict and all other incompatibilities which result in run time errors and stop the program. The focus of this aspect is the interaction with the user and the handling of error messages. Portability: it should work as it is in any software and hardware environment, or at least without relevant reprogramming. Readability: the purpose of the main program and of each subroutine must be clearly defined with appropriate comments and self explanatory choice of symbolic names (constants, variables, function names, classes, methods, ...).

Algorithmic complexity

The academic field and the engineering practice of computer programming are both largely concerned with discovering and implementing the most efficient algorithms for a given class of problem. For this purpose, algorithms are classified into orders using so-called Big O notation, O(n), which expresses resource use, such as execution time or memory consumption, in terms of the size of an input. Expert programmers are familiar with a variety of well-established algorithms and their respective complexities and use this knowledge to choose algorithms that are best suited to the circumstances.

Methodologies

The first step in most formal software development projects is requirements analysis, followed by modeling, implementation, and failure elimination (debugging). There exist a lot of differing approaches for each of those tasks. One approach popular for requirements analysis is Use Case analysis.

Popular modeling techniques include Object-Oriented Analysis and Design (OOAD) and Model-Driven Architecture (MDA). The Unified Modeling Language (UML) is a notation used for both OOAD and MDA.

A similar technique used for database design is Entity-Relationship Modeling (ER Modeling).
Implementation techniques include imperative languages (object-oriented or procedural), functional languages, and logic languages.

Debugging is most often done with IDEs like Visual Studio, NetBeans, and Eclipse. Separate debuggers like gdb are also used.

Measuring language usage

It is very difficult to determine what are the most popular of modern programming languages. Some languages are very popular for particular kinds of applications (e.g., COBOL is still strong in the corporate data center, often on large mainframes, FORTRAN in engineering applications, and C in embedded applications), while some languages are regularly used to write many different kinds of applications.

Methods of measuring language popularity include: counting the number of job advertisements that mention the language[4], the number of books teaching the language that are sold (this overestimates the importance of newer languages), and estimates of the number of existing lines of code written in the language (this underestimates the number of users of business languages such as COBOL).

Debugging

Debugging is a very important task in the software development process, because an erroneous program can have significant consequences for its users. Some languages are more prone to some kinds of faults because their specification does not require compilers to perform as much checking as other languages. Use of a static analysis tool can help detect some possible problems.

References

  • Paul Graham (2003). "Hackers and Painters". Retrieved on 2006-08-22.
  • Kenneth E. Iverson, the originator of the APL programming language, believed that the Sapir–Whorf hypothesis applied to computer languages (without actually mentioning the hypothesis by name). His Turing award lecture, "Notation as a tool of thought", was devoted to this theme, arguing that more powerful notations aided thinking about computer algorithms. Iverson K.E.,"Notation as a tool of thought", Communications of the ACM, 23: 444-465 (August 1980).
  • A 13th Century Programmable Robot (University of Sheffield). Survey of Job advertisements mentioning a given language

taken from http://en.wikipedia.org/