Practical quantum computing