Ask HN: Your Dev Environment
A few years back I switched to running my VisualStudio Windows install on a VM;I originally started on Parallels then switched to VMWare, and then recently switched back to Parallels (it just runs Win7 way way faster on my rig at least). I love the ease of moving to a new machine (just copy the vm), or even backing up my windows dev environment (just copy the 45gig file to my Synology NAS). It's also nice if you need to temporarily move your Dev environment to another machine (again, just dump the vm onto an external drive and you can even run it off that if you need too).
I was wondering how prevalent using VM's in this manner is. I seem to run into a lot of developers that think running a VM is much slower than an actual machine, and I guess it depends on your rig. I run a original Mac Pro tower with dual 2.6 core 2 duo procs + 12 gigs of ram; I can give Win7 4gigs of ram and allocate one of my cores to it and with that setup, Win7 + VS2008 smokes. It's honestly the fasest 'Windows machine' I've ever worked on. An added bonus to running like this is my email, music, IM and torrent clients are all running on the host so when Windows needs to reboot, I can keep working on some emails or updating my project plan, make a skype call, etc.
So how about it guys, do others run a VM type rig now or is it still predominantly just running a dedicated box for your main dev env?
59 comments
[ 121 ms ] story [ 1244 ms ] threadBut then I got a MacBook Pro, and I've actually been doing all development on it for the last few weeks. Textmate is the only non-vim editor I'd ever use.
XMonad looks great, I look forward to trying this out.
XMonad is really awesome. I use xmobar to give me a little bar at the top, it looks like this: http://haskell.org/sitewiki/images/a/ae/Arossato-config.png
Yes, thanks for the XMonad intro, I really can't wait to try it.
P.S. I think we have some friends in common and may cross paths at the l2l. :)
[1] As johnswamps points out in the neighboring comment, to get vim features (not just vi) you may need vimpulse as well.
Ah, nice.
> P.S. I think we have some friends in common and may cross paths at the l2l. :)
I'm there right now, actually. :)
I'm being totally irrational, but when I use a Mac, I really want everything to look and feel like a Mac app. Yeah, I'm a shameless Apple fanboy... but I've been using MacOS my entire life, I dunno, vim on Mac just feels wrong, for some reason.
I use a mac for all my development, but I do it inside Terminal with GNU Screen and vim. I use MacVim for those rare instances when I want an Aqua-friendly text editor.
Try iTerm - http://iterm.sourceforge.net/
Also, if you haven't already tried tmux, it's worth looking at. I find it fits my way of working much, much better than screen. It has both horizontal and vertical splits and more intuitive "tabs."
I remapped Caps Lock to Ctrl for just this purpose, though I use iTerm. These shortcuts work system wide as well.
http://visor.binaryage.com/
It was especially awesome because this whole development stack is so lightweight, I install the same stuff on my beefy desktop and an old hand-me down PIII laptop, and it all works just as well.
Mac: ITerm for the terminal everything else same as above.
Linux: XMonad for window manager, urxvt for the terminal
Windows: Avoid like the plague for development but I keep a VM or two around for testing.
I really feel it is the best of the breed of lightweight terminals - unfortunately development has slowed, so it doesnt have full unicode support.
I'd prefer running OSX in a VM on a Windows box (the Windows stuff is definitely faster that way), but since I can't do that (easily), this is an acceptable trade-off.
I wasn't happy about how much I had to spend for the MacBook Pro setup though. You're definitely not getting the same performance bang for your buck. It's the price you have to pay though. Oh well.
I found running on a macbook pro to be not as fast as I liked (I was setup very similar to this to start but an original 15" macbook pro) so I sold that and managed to get lucky finding a used Mac Pro tower (1500 bucks). A lappy is nice but having the extra room/ram of the tower really helped out, esp. when you are running SQL, IIS, etc. Of course, with the new i5/i7 macbooks and the bump in max RAM, a macbook pro would probably be pretty stellar but of course, very pricy.
Then I got an SSD harddrive. It's like I'm using a new (much faster) machine. The VM's seem like they're native.
SSD HD's are still pretty expensive but worth every penny IMO (and way cheaper than a new MBP).
Though, I still need an upgrade, the 2GB RAM limit is getting pretty annoying now. If only I had an extra £1650 laying around.
After enough RAM is the best upgrade you could get. Well, technically it's also the only other upgrade you could get to your laptop, but it should make it snappy enough to delay a new laptop purchase for a while.
BTW, what would the £1650 be for ? 4GB of RAM is probably £100 max, an Intel 160GB SSD another £400 max.
The early 2006 MBPs that were Core Duo (rather than Core 2 Duo) could only support 2GB memory max.
If he has one of the later 2006 ones, though, they were sold as supporting 2GB max but can actually take 4GB with 3GB then being usable.
As Peter's already mentioned, the early 2006 MBPs can only support 2GB max, so the £1650 would be for a new MBP (or actually, maybe an iMac.)
Some small details (like the apparent lack of line anti-aliasing inside VMWare OGL, and differences in the rendering of translucent polys) make me think it's partially or completely software emulated.
http://vagrantup.com
Feedback is always welcome!
I have a MacBook Pro if I need to do OS X stuff, but it doesn't have the grunt to serve as my main dev environment any more, sadly.
And since upgrading my desktop to a Core i7 960 with 12GB of RAM and SSD + 10K RPM drive combos...
VMs are sufficiently fast that if I fullscreen them on one of my monitors it feels like a KVM connection and not a VM.
I have VMs for every flavour of Windows our software supports (Windows XP, Windows XP SPx, Vista, Windows 7, Server 2003/2008).
And with snapshots I can quickly jump to a particular state if I need to reproduce something specific (e.g. before installing our VC++ runtime friends, after, etc).
We're actually considering shipping VMs as a deployment package to some of our larger customers.
For my part, I have two monitors, I use the first for web browsing, chat,etc and the other for whatever I'm working on (visual studio for chromium, virtual box for Linux kernel stuff, PuTTY for working remotely). Not a bad workflow.
And working on kernel stuff would SUCK without virtual machines.
Use parallels to run VM Win XP and Ubuntu
Would maybe consider upgrading to the new 15" mac and the higher res screen but think I will hold off and wait for the next iteration of Macs
Software wise xcode, textmate, eclipse
I don't use VMs on this machine but at work there is a server full of VirtualBox VMs for testing deployed apps in a production-like environment.
I might actually go back to that setup. I've been wading through some gnarly unicode issues recently, and I suspect that the Python REPL + Windows 7 Powershell prompt were leading me in the wrong direction a couple of times. I really need a OS that's working in unicode, dammit.
I would happily run OSX in a VM, but Apple doesn't let me. :(
A Mac is Apple's DRM to protect OSX. All Macs are merely giant dongles that plug in to the internet.
* Parallels and VMWare on Mac (best to have at least 2 GB), running Debian, Ubuntu and WinXP
* Qemu+KVM on Ubuntu running Ubuntu
* VirtualBox on Debian running Debian
* SSH into Xen VM running Debian
The exceptions? Sysadmin tasks on my host machines.
Yes, this includes fancy IDEs; I have used Eclipse extensively and hate it. No, I don't like vi, although I certainly respect it.
Hardware: 15" MacBook Pro, w/ 19" external LCD and external Apple keyboard if I'm at home.
Software: MacVim, MAMP setup w/ BIND for local dev (using this configuration: http://postpostmodern.com/instructional/a-smarter-mamp/), git for vc, Parallels for IE testing, Firefox w/ Firebug and WebDev extensions for debugging js and editing css, and I prefer iTerm over Terminal.app (sadly just for 256 color support, I'm sad I know).
Web apps: http://www.getcloudapp.com/ for sharing, http://www.freshbooks for time tracking/billing
Supervision: 8-month-old boxer-lab with an attitude.
Our penetration testing VMWare Images run XP and Xubuntu respectively but are due for a refresh.
I've just been on a Mac for a year and enjoying the change of pace but frustrated by the number of problems I've had. It seems comparable to XP on my Thinkpad...but bad compared to my 2003 Server desktop.
My main desktop is my Macbook that hooked to a Dell 23inch LCD. Most of work is done at the SS4200E where I use Vim. I generally open 5 to 6 terminals and use cmd+# to switch among them. Contrary to other guys here, I really like the Terminal.app. The default color scheme used by Vim is too dark though.
Edit: typo