I've occasionally seen people online claiming they were victims of a double-spend because they handed over something of value in exchange for a bitcoin payment with no confirmations.
Although I understand this is theoretically possible, how would someone try this practically? All available bitcoin clients would not allow you to make a transaction that spends an output that has already been spent, and the client would know about the first transaction very soon after it was broadcast.
Are there specialized double-spend-friendly bitcoin clients out there?
EDIT: Please note: I am not asking for theory of any kind (especially not theory on how the blockchain / proof-of-work / waiting for confirmations solves the dobule-spend problem). I am asking purely practically ... how does someone pull off a double-spend attempt?