The best way to make *nix successful as a day-to-day OS is to have a spare dust-gathering Windows box that you can connect remotely to via terminal services. Having the latest version of Wine and Mono installed is useful as well.
VMs are nice but are a pain in the arse because you have to buy a separate Windows license for a guest install.
My terminal server configuration is very fancy and features application remoting but any set works IMHO. VNC is OK too but only with UltraVNC mirror driver.
This way you could work in Visual Studio 2008 and save your projects on the *nix box via the network folder share.
As for Ruby... I don't know anything about it--I'm a PureBasic guy myself.
I'll not do remoting to Windows box. It's like cheating, if I wanted Windows I would boot in Vista that sits on the first partition. Never understood guys that do that.
Anyhow, I know I was preaching opensuse is better than ubuntu/other distros for desktop - well, I'm changing that - they all suck equally. But I won't go into details, don't wanna rant. Just don't understand why ppl use it..