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.