I run CLI Arch Linux in a VM and use samba for shared folders. Usually I just end up coding right in the SSH terminal. You also develop good habits when it comes to deploying to a production environment, plus capable of managing multiple environments and keeping them separate.
Edit: BUT, for Ultra Books, I am looking at buying an Asus Zenbook Touch UX31A with an i5. Top quality build and nice keyboard, has great reviews. The Dell XPS ultrabook looks good too, but doesn't have the same quality as the Asus.
What a bizarre statement. It works quite well if you prefer the Linux environment and don't require specific software only available on another OS. Just because some setup works well for you doesn't mean it is appropriate for everyone.
I have both Windows 7 and Linux laptops and prefer Linux from a maintenance standpoint and from a driver standpoint. Usually, if Linux drivers are supported they are supported very well. With Windows things appear to be less uniform.
Now I want to buy a small ultrabook, and on that, running 2 OSes sounds suboptimal. It might work of course, but I can't try it before buying, so I don't really like the of risking. I want a good machine, that is known to run linux well.
And no, I don't want a cheap 1366x768 screen and crappy keyboard. Yes, I can live with cheap CPU, RAM etc. And in fact the best machine for me would be with good screen/kbd and cheap everything else. But no one manufactures such, at least to my knowledge :(
Unless you are running a server, there is no reason to be running Linux directly on your hardware. You can, of course, but it's not a good idea.
I'm not a Mac fanboy so take that for what you will. I look at these fanboy 'bro' developers running around with overpriced hardware and laugh. You might not have the same reaction.