A group of us are starting a new project and are working in a distributed fashion. Our intention is to use agile development methodologies and in particular Extreme Programming (XP). This is intended as a learning experience, but while some of us have experience with XP in a "traditional" team none of us has experience doing XP with a remote group. Both Agile Development in a Distributed Team and Distributed Development Team - Tools Needed offer some great suggestions but are not specific to XP.
Please elaborate on methodologies and tools used to stay true to the spirit of XP while working remotely. Specifically, what technologies were employed for story cards and peer programming.
Edited to include technology stack per Felix's recomendation
We are writing a Ruby on Rails on Windows Machines. We are interested in what tools can be used to adapt the primary practices of Extreme Programming for a remote team.