But, one of the coolest things that a Quantum computer can do is an unlimited undo function.
If any of you have messed around on Microsoft's Paint program that comes with Windows, you know that one of the most frustrating things is that Paint's undo cache is limited to 3. You can only call undo 3 times before the program can't undo anymore.
This is how all computer programs work for undo, some just have enormous undo caches. But, in order to program an undo, the program basically has to save a snapshot of the program after each action and put it in a cache to bring back if the user decides to undo.
But, Quantum computers are Reversible Computers. (Here comes Courier!)
If a computer is reversible, this means that for each input into a logical function, there is only one output. (Known, more generally as a one-to-one function) A key feature of one-to-one functions is that they can have an inverse function as well. If you have f(x) = y, there should be an inverse function to f, ( we'll call it g(y) ) where g(y) = x.
Basically, for whatever input you give it, there is only one output, and you should be able to find a way to take the output and get the input back. Meaning that all you need to do to use "undo" in a Quantum computer is to send the output of the program (the results of your latest action) through an inverse function and you can get what you had right before (the program state right before your action). This means that you should be able to undo over and over again until you are at your initial state.
Of course, this would have to be implemented correctly by the computer engineers who make the first Quantum computer, but as Reversibility is really useful, I'm sure it will get done.
Anyway, the first fully-fledged Quantum computer is a ways off, so for now I'll be waiting for SSD, which I'll probably write about soon, because I know everyone's sitting around thinking "Geez, I wish my hard disk I/O was faster."