Just a note that Apple stopped signing 3.1.2 today. That means those of you 3gs or iPod touch 3 users that did not rush out and store your TSS in Cydia or Rock are screwed and cannot restore anything but 3.1.3. If you are a jailbreak user running a 3gs or ipod touch 3 (or later generation ipod touch 2) that has not stored the TSS in cydia, you should be very careful with what you do from now until the next jailbroken firmware. You will want to be careful in what you install to make sure you don’t have to restore for any reason. It would be a good idea to install open SSH and learn how to use it so that you can get in and fix any problems without a restore, also.
3g / 2g users need not worry as you dont need Apple to sign your firmware files.