Can anyone explain why exactly using Sleep() or Yield() is 'bad'? I haven't seen any convincing arguments. I've used Sleep() in threads before with zero side effects and it gave substantial CPU reduction. For example, it reduced a single core sitting at ~50% while idle to about ~4% while idle.
This is a tough one, I researched this one all last night.
First I would recommend google checkout as the checkout and payment system. Next use google App Engine and construct a relay server, one that will tie the orders from google checkout with an unchangeable destination server. Ensure that if the destination server is changed, then no further orders will be processed. Finally for the destination server side. For this you would just generate the keys and forward them to the correct gmail account.
Google has most of this infastructure in place for companies, which you can leverage yourself.
Hmm that might work. Already using app engine for the game's master server.
You should learn IDEs if you want to get a job. At most interviews if you said "i don't use IDEs" your resume would probably go in the trash as soon as you leave. Also, when working with non-trivial projects, debugging with cout and file writes doesn't even remotely compare to an IDE debugger.