TopCoder: Online software competitions

For all you guys who keep asking about how to practice your programming skills, heres the answer!:

Its an online software competition hosting website, where they have timed events and a point system determines your overall ranking. The 'arena' has all the people competing and an editor which has built-in compilation and testing features. Languages used are Java, C++, Microsoft® Visual C#® .NET or Microsoft® Visual Basic® .NET.

The above is only for the algorithms competitions but there are quite a few other categories which might interest you:

# Algorithm

# Copilot Opportunities

# Conceptualization

# Specification

# Architecture

# Component Design

# Component Development

# Assembly

# Test Scenarios

# Test Suites

# UI Prototype

# RIA Build

# Bug Race

I believe there are categories for designers as well but I haven't looked into it too much. Do check it out. You can also choose to represent Pakistan and some competitions have cash prizes!