System Restore, my saviour^^

Yesterday i just got bad experience with my virus scanner, i downloaded the update and have it installed on my pc, just like i did every weeks before. But that day was special, after the update proccess finished, the antivirus stop running. First, i dont realize it yet tho, i just about to watch a movie with windows media player and got "internal error occured" message. What on earth has happened?

Ok, dont panic yet, i try to restart my pc. Strange... the shutdown proccess looked a little bit different -_-a. After booting proccess completed, i just found i cant get in to windows again. I always got error message in login screen. After several attempt, i gave up :( .

I restart my pc again and login to safe mode. And without any hesitation, i restore my pc to several weeks before :( . After few minutes of waiting... taadaaa, my windows is back and running : ) Many of my installed programs has gone, but that's ok.

So guys, maybe this's look like simple and easy to forget, but system restore can be very helpfull in such a critical time like that. Just remember to create a restore point every week : )

How to create a restore point :
  • Click system restore from start windows > program > accessories > system tools
  • There'll be a choice, to create a restore point or restore computer to a restore point
  • Choose create a restore point
  • Put a description the click OK, done

How to restore your computer :

  • Click system restore from start windows > program > accessories > system tools
  • Choose restore computer to a restore point
  • Choose the restore point that you have created or outomatically created by windows after you install someting
  • Windows will restart and done

5 ways to speed up your PC

By following a few simple guidelines, you can maintain your computer and keep it running smoothly. This article discusses how to use the tools available in Windows XP Service Pack 2 (SP2) and Windows Vista to more efficiently maintain your computer and safeguard your privacy when you're online.

Free up disk space

By freeing disk space, you can improve the performance of your computer. The Disk Cleanup tool helps you free up space on your hard disk. The utility identifies files that you can safely delete, and then enables you to choose whether you want to delete some or all of the identified files.Use Disk Cleanup to:

•Remove temporary Internet files.
•Remove downloaded program files (such as Microsoft ActiveX controls and Java applets).
•Empty the Recycle Bin.
•Remove Windows temporary files.
•Remove optional Windows components that you don't use.
•Remove installed programs that you no longer use.

Tip: Typically, temporary Internet files take the most amount of space because the browser caches each page you visit for faster access later.

To use Disk Cleanup

1.Click Start, point to All Programs, point to Accessories, point to System Tools, and then click Disk Cleanup. If several drives are available, you might be prompted to specify which drive you want to clean.


2.In the Disk Cleanup for dialog box, scroll through the content of the Files to delete list.
Choose the files that you want to delete.


3.Clear the check boxes for files that you don't want to delete, and then click OK.

4.When prompted to confirm that you want to delete the specified files, click Yes.

After a few minutes, the process completes and the Disk Cleanup dialog box closes, leaving your computer cleaner and performing better.

Speed up access to data

Disk fragmentation slows the overall performance of your system. When files are fragmented, the computer must search the hard disk when the file is opened to piece it back together. The response time can be significantly longer.

Disk Defragmenter is a Windows utility that consolidates fragmented files and folders on your computer's hard disk so that each occupies a single space on the disk. With your files stored neatly end-to-end, without fragmentation, reading and writing to the disk speeds up.

When to run Disk Defragmenter

In addition to running Disk Defragmenter at regular intervals—monthly is optimal—there are other times you should run it too, such as when:

•You add a large number of files.
•Your free disk space totals 15 percent or less.
•You install new programs or a new version of Windows.

To use Disk Defragmenter:

1.Click Start, point to All Programs, point to Accessories, point to System Tools, and then click Disk Defragmenter.

Click Analyze to start the Disk Defragmenter.


2.In the Disk Defragmenter dialog box, click the drives that you want to defragment, and then click the Analyze button. After the disk is analyzed, a dialog box appears, letting you know whether you should defragment the analyzed drives.

Tip: You should analyze a volume before defragmenting it to get an estimate of how long the defragmentation process will take.

3.To defragment the selected drive or drives, click the Defragment button. Note: In Windows Vista, there is no graphical user interface to demonstrate the progress—but your hard drive is still being defragmented.
After the defragmentation is complete, Disk Defragmenter displays the results.

4.To display detailed information about the defragmented disk or partition, click View Report.

5.To close the View Report dialog box, click Close.

6.To close the Disk Defragmenter utility, click the Close button on the title bar of the window.

Detect and repair disk errors

In addition to running Disk Cleanup and Disk Defragmenter to optimize the performance of your computer, you can check the integrity of the files stored on your hard disk by running the Error Checking utility.

As you use your hard drive, it can develop bad sectors. Bad sectors slow down hard disk performance and sometimes make data writing (such as file saving) difficult, or even impossible. The Error Checking utility scans the hard drive for bad sectors, and scans for file system errors to see whether certain files or folders are misplaced.

If you use your computer daily, you should run this utility once a week to help prevent data loss.

To run the Error Checking utility:

1.Close all open files.

2.Click Start, and then click My Computer.

3.In the My Computer window, right-click the hard disk you want to search for bad sectors, and then click Properties.

4.In the Properties dialog box, click the Tools tab.

5.Click the Check Now button.

6.In the Check Disk dialog box, select the Scan for and attempt recovery of bad sectors check box, and then click Start.


7.If bad sectors are found, choose to fix them.

Tip: Only select the "Automatically fix file system errors" check box if you think that your disk contains bad sectors.

Protect your computer against spyware

Spyware collects personal information without letting you know and without asking for permission. From the Web sites you visit to usernames and passwords, spyware can put you and your confidential information at risk. In addition to privacy concerns, spyware can hamper your computer's performance. To combat spyware, you might want to consider using Microsoft Windows Defender, which is included in Windows Vista, and is available as a free download for Microsoft XP SP2. Alternatively, there are other free anti-spyware software programs available.

Learn all about ReadyBoost

If you're using Windows Vista, you can use ReadyBoost to speed up your system. A new concept in adding memory to a system, it allows you to use non-volatile flash memory—like a USB flash drive or a memory card—to improve performance without having to add additional memory. Learn more.

Taken from www.microsoft.com

How to create Local Area Network via UTP Cable : Cable Configuration

Do you have more than one computer and want to make a connection between them? then you have to read this

In this section i'm gonna explain about the cable configuration. But before i explain it, you need to set few stuff ready first ;

1. UTP Cable (also known as twisted cable)

UTP stands for Unshielded Twisted Pair. It is the cabling system with one or more pairs of twisted insulated copper wires contained in a single sheath. It is the most widely used cabling system in telecommunications and data communications environment today



2. RJ-45 (8P8C modular jack)

RJ stands for Registered Jacks. These are used in telephone and data jack wiring registered with FCC. RJ-11 is a 6-position, 4-conductor jack used in telephone wiring, and RJ-45 is a 8-position, 8-conductor jack used in 10BaseT and 100BaseT ethernet wiring.




3. Crimp Tool



4. Cable Tester
now before you do anything to those things i've said before i want you to read this first. Well, actually i could just tell you what to do with them but knowing the basic first always better thing to do.

TIA/EIA-568-A, T-568B RJ45 Wiring Standard
For wiring straight-through and cross-over RJ-45 cables

RJ-45 conductor data cable contains 4 pairs of wires each consists of a solid colored wire and a strip of the same color. There are two wiring standards for RJ-45 wiring: T-568A and T-568B. Although there are 4 pairs of wires, 10BaseT/100BaseT Ethernet uses only 2 pairs: Orange and Green. The other two colors (blue and brown) may be used for a second Ethernet line or for phone connections. The two wiring standards are used to create a cross-over cable (T-568A on one end, and T-568B on the other end), or a straight-through cable (T-568B or T-568A on both ends).

To create a straight-through cable, you'll have to use either T-568A or T-568B on both ends of the cable. The diagram depicted on the left and right shows clip of the RJ-45 connector down.

To create a cross-over cable, you'll wire T-568A on one end and T-568B on the other end of the cable.

The straight-through cables are used when connecting Data Terminating Equipment (DTE) to Data Communications Equipment (DCE), such as computers and routers to modems (gateways) or hubs (Ethernet Switches). The cross-over cables are used when connecting DTE to DTE, or DCE to DCE equipment; such as computer to computer, computer to router; or gateway to hub connections. The DTE equipment terminates the signal, while DCE equipment do not.

More on straight-through and cross-over connections

The RJ45 data cables we use to connect computers to a Ethernet switch is straight-through cables. As noted above, the RJ45 cable uses only 2-pairs of wires: Orange (pins 1 & 2) and Green (pins 3 & 6). Pins 4, 5 (Blue) and 7, 8 (Brown) are NOT used. Straight-through cable, as its name suggests, connects pin 1 to pin 1, pin 2 to pin 2, pin 3 to pin 3, and pin 6 to pin 6. Cross-over cables are used to connect TX+ to RX+, and TX- to RX-, which connects pin 1 to pin 3, pin 2 to pin 6, pin 3 to pin 1 and pin 6 to pin 2. The unused pins are generally connected straight-through in both straight-through and cross-over cables.

To network two computers without a hub, a cross-over cable is used. Cross-over cable is also used to connect a router to a computer, or ethernet switch (hub) to another ethernet switch without an uplink. Most ethernet switches today provide an uplink port, which prevents a use of cross-over cable to daisy chain another ethernet switch. Straight-through cables are used to connect a computer to an ethernet switch, or a router to an ethernet switch.

Pin Number Designations

There are pin number designations for each color in T-568B and T-568A.

T-568B


Pin = Color = Pin Name

1 = Orange Stripe = Tx+
2 = Orange = Tx-
3 = Green Stripe = Rx+
4 = Blue = Not Used
5 = Blue Stripe = Not Used
6 = Green = Rx-
7 = Brown Stripe = Not Used
8 = Brown = Not Used

T-568A

Pin = Color = Pin Name

1 = Green Stripe = Rx+
2 = Green = Rx-
3 = Orange Stripe = Tx+
4 = Blue = Not Used
5 = Blue Stripe = Not Used
6 = Orange = Tx-
7 = Brown Stripe = Not Used
8 = Brown = Not Used

Okies, now you can make your own network, next, i gonna tell you about the configuration setting in your PC, good luck^^

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.

Installing memory by your own is quite simple but risky. Don't do it if you are not really sure about it. Sometime it is better to let an expert to do it for you. It may cost you to buy a new laptop if you're reckless ;p
Please refer to the user manual for the computer system for any additional information.

Before You Buy Computer Memory Upgrades

One of the easiest ways to boost performance for any PC is to add memory to the system. But before you go to get that memory upgrade, be sure to gather information about your computer to ensure you get the right memory for your system. You need to know what type of memory the computer uses, the memory module sizes and what already exists in the system.

How Much Memory Do I Have?

Find out how much memory is in the computer by examining the BIOS or operating system. For Windows, this can be located by opening up the System properties from the Control Panel. Also open up the case while the computer is off and find the memory slots to determine how many modules are installed and how many slots are available. If all the slots are full, you may have to take some out to put more in, if the system can use larger modules.

How Much Do I Need?

Check your operating system and application programs. Often they will have a printed “Minimum” and “Recommended” memory listing somewhere on the package or in the manual. Find the highest number out of “Recommended” section and try to plan on having this much or more memory by the time you are done upgrading your system memory.

What Type Does Your Computer Support?

Look through the manuals that came with your computer or motherboard. Included in the documentation should be a listing of the specifications for the memory supported. This is important because it will list exactly the type, size and number of memory modules that are supported. Many retailers and memory manufacturers have this information in case you can’t find the manuals.

- Crucial Memory Advisor
- Kingston Memory Finder
- PNY Technologies Memory Configurator


How Many Modules Should I Buy?

In general it is best to try and buy as few modules as possible for the amount of memory that you wish to install. This will increase the potential for future upgrades on the system. Thus, if you have 3 memory slots, one of which has a 1GB module in it, it would be better to buy another 1GB module to get to 2GB of total memory than to purchase two 512MB modules

Tips to Speed up Your Modem

Do you know that maybe at this momment, your browsing speed has been limited by your own modem? Then follow this to make sure!
  • 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 :). Keep in mind that, this setting is applied to your modem only, it wont change the connection speed from your ISP ;p

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'll help you to 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 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 dont 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 ResortsIf 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.

That's it i guess. Well, if you have any critics or idea please make a comment here

Regards,
Sabrinna

Few Things to Consider Before Purchasing a Laptop Computer

OK, you wanna buy a laptop and have the money, but before you start to waste it for something you dont actually need and regret it for sure (believe me, i know) maybe you need to read this before.

This are few things you need to consider before you decide to buy a laptop :

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.

Hope this little stuff will help you to decide to buy a laptop or change your mind and buy a desktop computer instead.

Regards,
Sabrinna

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

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. 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/

Computer Software

Computer software is a general term used to describe a collection of computer programs, procedures and documentation that perform some tasks on a computer system.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.

Relationship to computer hardwareComputer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. In computers, software is loaded into RAM and executed in the central processing unit. At the lowest level, software consists of a machine language specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions which change the state of the computer from its preceding state.

Software is an ordered sequence of instructions for changing the state of the computer hardware in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. High-level languages are compiled or interpreted into machine language object code.

Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler.

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.

System software helps run the computer hardware and computer system. It includes operating systems, device drivers, diagnostic tools, servers, windowing systems, utilities and more. The purpose of systems software is to insulate the applications programmer as much as possible from the details of the particular computer complex being used, especially memory and other hardware features, and such as accessory devices as communications, printers, readers, displays, keyboards, etc.

Programming software usually provides tools to assist a programmer in writing computer programs and software using different programming languages in a more convenient way. The tools include text editors, compilers, interpreters, linkers, debuggers, and so on. An Integrated development environment (IDE) merges those tools into a software bundle, and a programmer may not need to type multiple commands for compiling, interpreting, debugging, tracing, and etc., because the IDE usually has an advanced graphical user interface, or GUI.

Application software allows end users to accomplish one or more specific (non-computer related) tasks. Typical applications include industrial automation, business software, educational software, medical software, databases, and computer games. Businesses are probably the biggest users of application software, but almost every field of human activity now uses some form of application software

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.

Three layers

Users often see things differently than programmers. People who use modern general purpose computers (as opposed to embedded systems, analog computers, supercomputers, etc.) usually see three layers of software performing a variety of tasks: platform, application, and user software.

Platform software

Platform includes the firmware, device drivers, an operating system, and typically a graphical user interface which, in total, allow a user to interact with the computer and its peripherals (associated equipment). Platform software often comes bundled with the computer. On a PC you will usually have the ability to change the platform software.

Application software

Application software or Applications are what most people think of when they think of software. Typical examples include office suites and video games. Application software is often purchased separately from computer hardware. Sometimes applications are bundled with the computer, but that does not change the fact that they run as independent applications. Applications are almost always independent programs from the operating system, though they are often tailored for specific platforms. Most users think of compilers, databases, and other "system software" as applications.

User-written software

User software tailors systems to meet the users specific needs. User software include spreadsheet templates, word processor macros, scientific simulations, and scripts for graphics and animations. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is. Depending on how competently the user-written software has been integrated into purchased application packages, many users may not be aware of the distinction between the purchased packages, and what has been added by fellow co-workers.

Creation

Computer software has to be "loaded" into the computer's storage (such as a hard drive, memory, or RAM). Once the software has loaded, the computer is able to execute the software. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code. Each instruction causes the computer to carry out an operation -- moving data, carrying out a computation, or altering the control flow of instructions.

Data movement is typically from one place in memory to another. Sometimes it involves moving data between memory and registers which enable high-speed data access in the CPU. Moving data, especially large amounts of it, can be costly. So, this is sometimes avoided by using "pointers" to data instead. Computations include simple operations such as incrementing the value of a variable data element. More complex computations may involve many operations and data elements together.

Instructions may be performed sequentially, conditionally, or iteratively. Sequential instructions are those operations that are performed one after another. Conditional instructions are performed such that different sets of instructions execute depending on the value(s) of some data. In some languages this is known as an "if" statement. Iterative instructions are performed repetitively and may depend on some data value. This is sometimes called a "loop." Often, one instruction may "call" another set of instructions that are defined in some other program or module. When more than one computer processor is used, instructions may be executed simultaneously.

A simple example of the way software operates is what happens when a user selects an entry such as "Copy" from a menu. In this case, a conditional instruction is executed to copy text from data in a 'document' area residing in memory, perhaps to an intermediate storage area known as a 'clipboard' data area. If a different menu entry such as "Paste" is chosen, the software may execute the instructions to copy the text from the clipboard data area to a specific location in the same or another document in memory.Depending on the application, even the example above could become complicated. The field of software engineering endeavors to manage the complexity of how software operates. This is especially true for software that operates in the context of a large or powerful computer system.

Currently, almost the only limitations on the use of computer software in applications is the ingenuity of the designer/programmer. Consequently, large areas of activities (such as playing grand master level chess) formerly assumed to be incapable of software simulation are now routinely programmed. The only area that has so far proved reasonably secure from software simulation is the realm of human art— especially, pleasing music and literature.

Kinds of software by operation: computer program as executable, source code or script, configuration.

Quality and reliability

Software reliability considers the errors, faults, and failures related to the creation and operation of software.

License

Software license gives the user the right to use the software in the licensed environment, some software comes with the license when purchased off the shelf, or an OEM license when bundled with hardware. Other software comes with a free software licence, granting the recipient the rights to modify and redistribute the software. Software can also be in the form of freeware or shareware.

Patents

The issue of software patents is controversial. Some believe that they hinder software development, while others argue that software patents provide an important incentive to spur software innovation. See software patent debate.

Ethics and rights for software users

Being a new part of society, the idea of what rights users of software should have is not very developed. Some, such as the free software community, believe that software users should be free to modify and redistribute the software they use. They argue that these rights are necessary so that each individual can control their computer, and so that everyone can cooperate, if they choose, to work together as a community and control the direction that software progresses in. Others believe that software authors should have the power to say what rights the user will get.

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

Personal Computer Hardware

OK, let's talk about the basic first, the hardware, this is for you noobs out there (if you think you're not a noob, pass this post, seriously)

Computer hardware is the physical part of a computer (that's it, make it simple guys). There're lots of harware that can be attached to computer nowadays (even part of your boddy!! is that make you a hardware too, dont ask me) so it won't gonna be enough if i write it all so i guess i only write about the part that majorly needed to make the computer on.

Typical PC hardware

A typical personal computer consists of a case or chassis in a tower shape (desktop) and the following parts:

Motherboard

Motherboard - the "body" or mainframe of the computer, through which all other components interface.

Central processing unit (CPU) - Performs most of the calculations which enable a computer to function, sometimes referred to as the "brain" of the computer.

Computer fan - Used to lower the temperature of the computer; a fan is almost always attached to the CPU, and the computer case will generally have several fans to maintain a constant airflow. Liquid cooling can also be used to cool a computer, though it focuses more on individual parts rather than the overall temperature inside the chassis.

Random Access Memory (RAM) - Fast-access memory that is cleared when the computer is powered-down. RAM attaches directly to the motherboard, and is used to store programs that are currently running.

Firmware is loaded from the Read only memory ROM run from the Basic Input-Output System (BIOS) or in newer systems Extensible Firmware Interface (EFI) compliant

Internal Buses - Connections to various internal components.
  • PCI
  • PCI-E
  • USB
  • HyperTransport
  • CSI (expected in 2008)
  • AGP (being phased out)
  • VLB (outdated)
  • External Bus Controllers - used to connect to external peripherals, such as printers and input devices. These ports may also be based upon expansion cards, attached to the internal buses.
  • parallel port (outdated)
  • serial port (outdated)
  • USB
  • firewire
  • SCSI (On Servers and older machines)
  • PS/2 (For mice and keyboards, being phased out and replaced by USB.)
  • ISA (outdated)
  • EISA (outdated)
  • MCA (outdated)
Power supply

A case that holds a transformer, voltage control, and (usually) a cooling fan, and supplies power to run the rest of the computer, the most common types of power supplies are AT and BabyAT (old) but the standard for PC's actually are ATX and micro ATX. smps( Switch Mode Power Supply )

Storage controllers

Controllers for hard disk, CD-ROM and other drives like internal Zip and Jaz conventionally for a PC are IDE/ATA; the controllers sit directly on the motherboard (on-board) or on expansion cards, such as a Disk array controller. IDE is usually integrated, unlike SCSI which is found in most servers. The floppy drive interface is a legacy MFM interface which is now slowly disappearing. All these interfaces are gradually being phased out to be replaced by SATA and SAS.

Video display controller

Produces the output for the visual display unit. This will either be built into the motherboard or attached in its own separate slot (PCI, PCI-E, PCI-E 2.0, or AGP), in the form of a Graphics Card.

Removable media devices
  • CD - the most common type of removable media, inexpensive but has a short life-span.
  • CD-ROM Drive - a device used for reading data from a CD.
  • CD Writer - a device used for both reading and writing data to and from a CD.
  • DVD - a popular type of removable media that is the same dimensions as a CD but stores up to 6 times as much information. It is the most common way of transferring digital video.
  • DVD-ROM Drive - a device used for reading data from a DVD.
  • DVD Writer - a device used for both reading and writing data to and from a DVD.
  • DVD-RAM Drive - a device used for rapid writing and reading of data from a special type of DVD.
  • Blu-ray - a high-density optical disc format for the storage of digital information, including high-definition video.
  • BD-ROM Drive - a device used for reading data from a Blu-ray disc.
  • BD Writer - a device used for both reading and writing data to and from a Blu-ray disc.
  • HD DVD - a high-density optical disc format and successor to the standard DVD. It was a discontinued competitor to the Blu-ray format.
  • Floppy disk - an outdated storage device consisting of a thin disk of a flexible magnetic storage medium.
  • Zip drive - an outdated medium-capacity removable disk storage system, first introduced by Iomega in 1994.
  • USB flash drive - a flash memory data storage device integrated with a USB interface, typically small, lightweight, removable and rewritable.
  • Tape drive - a device that reads and writes data on a magnetic tape, usually used for long term storage.
Internal storage

Hardware that keeps data inside the computer for later use and remains persistent even when the computer has no power.

  • Hard disk - for medium-term storage of data.
  • Solid-state drive - a device similar to hard disk, but containing no moving parts.
  • Disk array controller - a device to manage several hard disks, to achieve performance or reliability improvement.
Sound card

Enables the computer to output sound to audio devices, as well as accept input from a microphone. Most modern computers have sound cards built-in to the motherboard, though it is common for a user to install a separate sound card as an upgrade.

Networking

Connects the computer to the Internet and/or other computers.

  • Modem - for dial-up connections.
  • Network card - for DSL/Cable internet, and/or connecting to other computers.
  • Direct Cable Connection - Use of a null modem, connecting two computers together using their serial ports or a Laplink Cable, connecting two computers together with their parallel ports.
Other peripherals

In addition, hardware devices can include external components of a computer system. The following are either standard or very common.

Includes various input and output devices, usually external to the computer system

Input

Text input devices
  • Keyboard - a device, to input text and characters by depressing buttons (referred to as keys), similar to a typewriter. The most common English-language key layout is the QWERTY layout.

Pointing devices

  • Mouse - a pointing device that detects two dimensional motion relative to its supporting surface.
  • Trackball - a pointing device consisting of an exposed portruding ball housed in a socket that detects rotation about two axes.
  • Xbox 360 Controller - A controller used for Xbox 360, Which with the use of the application Switchblade(tm), can be used as an additional pointing device with the left or right thumbstick.

Gaming devices

  • Joystick - a general control device that consists of a handheld stick that pivots around one end, to detect angles in two or three dimensions.
  • Gamepad - a general game controller held in the hand that relies on the digits (especially thumbs) to provide input.
  • Game controller - a specific type of controller specialized for certain gaming purposes.
  • Image, Video input devices
  • Image scanner - a device that provides input by analyzing images, printed text, handwriting, or an object.
  • Webcam - a low resolution video camera used to provide visual input that can be easily transferred over the internet.
Audio input devices
  • Microphone - an acoustic sensor that provides input by converting sound into an electrical signals

Output

  • Image, Video output devices
  • Printer - a peripheral device that produces a hard (usually paper) copy of a document.
  • Monitor - device that displays a video signal, similar to a television, to provide the user with information and an interface with which to interact.
Audio output devices
  • Speakers - a device that converts analog audio signals into the equivalent air vibrations in order to make audible sound.
  • Headset - a device similar in functionality to computer speakers used mainly to not disturb others nearby.
fieeeww, that's a hell long post. I think that'll be enough for now. Next time, i'll write about it more. Now i need my coffee...

Good days,

Sabrinna

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

Recent Comments

Partner Site :

Critics, Comments, Suggestion, Concerns

Computers Science Desktop PCs Laptops / Notebooks Network Internet Maintenance and Troubleshooting Cool Windows Guide, Tips and Tricks PC Games
Add to Technorati Favorites Top Blogs blogarama - the blog directory Computers Computers blogs Hardware Blogs - Blog Catalog Blog Directory
Search Engine Optimization and SEO Tools
Template by KangNoval & Abdul Munir | blog Blogger Templates