Learn More





DNN Community Blog

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

Virtual Machines = Developer Productivity

Joe Brinkman made an excellent post today (Repaving in a Virtual World) about the painful experience of dealing with the crapware most computer manufacturers force on us and the odyssey of re-installing software.

About six months ago, I got fed-up with the cycle and decided to end it once and for all by switching entirely to virtual machines (Virtual PC). Now, I am a convert. There is just no going back.

I upgrade my primary notebook approximately every 6-8 months. I will go from a HP Pavilion zd8000 to a Dell M90 later this month, and for once, I don't have the mixture of excitement about the new hardware, and dread about getting the environment just right. I'll copy the virtual machines over and be up and running in the time it takes the bits to cross the wire to their new home.

As Joe mentions in his post, I have multiple "theme-based" virtual machines:

  • Biz - for Office apps, email, blogging etc. (10Gb disk, 400Mb memory) 
  • Dev (multiple) - one standad dev VM for my business, and a couple for some other businesses I collaborate with. (16Gb disk, 768Mb memory)
  • Test (multiple) -  these are throwaway VM's. I use them sometimes only for a couple of hours and then delete them. (4Gb disk, 256Mb memory)
  • Media - for personal photos, music, videos etc. before I transfer them to my 2.5Tb media jukebox (10Gb disk, 384Mb memory)

At any given time I will have a combination of Biz-Dev-Test or Biz-Media or Biz-Test-Test running. Since the aggregate memory never exceeds 1500Mb, I never experience any problems. On the host, I do have Skype and my WinTV app running. These don't consume many resources and since I turned off just about every other non-essential service on the host, there is very little memory/CPU usage too. (Bonus: Incredibly fast boot time for host.)

It took a little getting used to this setup at first, but I think in the process VMs have helped me deal with another problem -- attention deficit. By setting up each VM to be specific to one general area, I have forced myself to be more disciplined in approaching tasks, especially development. Instead of bouncing between windows on multiple projects, I now focus on getting to a stopping point so I can switch to a different VM. I have all the VM's configured to have "My Documents" point to a shared folder on the host, so sharing docs is not a problem. I have not yet figured out the exact rules for when the clipboard works and when it doesn't between host-VM and VM-VM, but it is not a huge issue.

The key to excellent VM performance I found, was regular defragging. I run Raxco's Perfect Disk and the Invirtus VM Optimizer regularly on my VMs. It's like hitting a performance boost button -- things are just snappy after running these guys.

Another suggestion for saving time and effort is to get the base VMs right the first time. When I need to create a new VM, the only thing I need to do is copy the settings and disk files for the VM, edit the reference in the setting file to point to the new disk and once the VM is running, rename the computer. I figured that getting the VM right would save me countless headaches until the next major software upgrade cycle, so I invested a day in getting my base VMs just right. That investment has obviously paid off.

[Reproduced from devTao :: Nik Kalyani on the Developer Way]


Comment Form

Only registered users may post comments.


2sic Daniel Mettler (124)
Aderson Oliveira (15)
Alec Whittington (11)
Alex Shirley (10)
Andrew Nurse (30)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (21)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (203)
Chris Paterra (55)
Clinton Patterson (28)
Cuong Dang (21)
Daniel Bartholomew (2)
Dave Buckner (2)
David Poindexter (3)
David Rodriguez (2)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (74)
Geoff Barlow (6)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (268)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matthias Schlomann (15)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Mike Horton (19)
Mitchel Sellers (28)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Peter Donker (52)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott S (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (2)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (37)
Will Strohl (163)
William Severance (5)
Try Evoq
For Free
Start Free Trial
a Demo
See Evoq Live
Need More Information?