{"id":1769,"date":"2005-11-16T20:56:53","date_gmt":"2005-11-16T20:56:53","guid":{"rendered":"http:\/\/sunpig.com\/mt-entry-1769.html"},"modified":"2006-09-23T19:30:11","modified_gmt":"2006-09-23T19:30:11","slug":"using-virtual-machines-for-development","status":"publish","type":"post","link":"https:\/\/sunpig.com\/martin\/2005\/11\/16\/using-virtual-machines-for-development\/","title":{"rendered":"Using virtual machines for development"},"content":{"rendered":"<p>Although I&#8217;m still enjoying my Mac, I&#8217;m spending most of my time on my Windows machine at the moment, because that&#8217;s where I&#8217;m doing most of my current development work.  And after having merely dabbled with virtualization technology for a while, I&#8217;ve now made the full and complete move into the world of virtual machines (for development purposes, at least).<\/p>\n<p>I did a clean reinstall of Windows back in August, and I had every intention of keeping it nice and clean and shiny&#8230;for at least a few months.  Well, that didn&#8217;t quite work out.  Download fever hit, and the normally slow accumulation of cruft turned into an avalanche of demos and betas.  Then last week the PC said &#8220;forget it&#8221;, and refused to start up properly.  It would get me into Windows, but without sound, network connectivity, or a clutch of other essential services.<\/p>\n<p>Rather than wiping the hard disk and doing another reinstall, I tried doing a <a href=\"http:\/\/www.webtree.ca\/windowsxp\/repair_xp.htm#How to Repair Windows XP by Installing Over top of Existing Setup:\">Windows &#8220;Repair&#8221;<\/a>, i.e. sticking the Windows installation disk in the drive, and just letting the setup process smear itself all over the existing installation; and that did the trick.  Incidentally, this is also where I first noticed that if you have a <a href=\"http:\/\/www.google.com\/\">Google<\/a> account (e.g. through Gmail), Google is now tracking links you have visited, and tells you if you how often you have visited a link before, and when the last time was you went there (via Google&#8217;s search results).  Fortunately, I&#8217;ve given up on finding Google&#8217;s tracking behaviours creepy and intrusive.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sunpig.com\/martin\/images\/2005\/11\/googletracking.gif\" alt=\"Google's tracking information\" style=\"border:1px dotted black;padding:4px;margin:7px;\" \/><\/p>\n<p><em>Anyway<\/em>, where this is all going is here:  no more installing development tools or random crap on my main machine.  It all goes into Virtual PCs now.  I&#8217;ve created a couple of &#8220;base&#8221; VPC builds:<\/p>\n<ul>\n<li>Vanilla Windows XP build (XP with all service packs and hotfixes, and Firefox.<\/li>\n<li>Vanilla Visual Studio 2003 build (as above, but with VS2003, IIS, SQL Server, MSDN Library, FileZilla, and a few other basic widgets)<\/li>\n<\/ul>\n<p>I&#8217;ll create more base builds when they become necessary (a Visual Studio 2005 build will happen very soon). Each project I&#8217;m working on now has its own virtual machine, cloned from one of these base builds.  No more worrying about software I&#8217;ve installed for one project interfering with another, because they each have a whole machine for themselves.  The virtual machines are portable, so I can bring them with me on my laptop; and if I need to reinstall Windows on my main machine, I no longer have to worry about all the pain and hassle of getting my development environment up and running again, because it&#8217;s as simple as grabbing a copy from my backup disk.<\/p>\n<p>It&#8217;s very, very cool, and I should have done this a long time ago.<\/p>\n<p>The only downside is that my Windows PC is a couple of years old now (Athlon 2500+, 1GB RAM), and using Visual Studio in the virtual machines is definitely slower than working on the host hardware.  Not intolerably slow, but slow enough to make me wish for a multi-processor or dual core workstation upgrade, with another Gig of memory, so I could have more than one VM open at the same time.  But this would also mean getting a new motherboard, which then means a new video card, and it all starts to get expensive rather quickly.<\/p>\n<p>Never mind.  It&#8217;s good enough for now, and it is more than worth it to avoid the hassle of software interference.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Although I&#8217;m still enjoying my Mac, I&#8217;m spending most of my time on my Windows machine at the moment, because that&#8217;s where I&#8217;m doing most of my current development work. And after having merely dabbled with virtualization technology for a while, I&#8217;ve now made the full and complete move into the world of virtual machines &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/sunpig.com\/martin\/2005\/11\/16\/using-virtual-machines-for-development\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Using virtual machines for development&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[133],"tags":[],"class_list":["post-1769","post","type-post","status-publish","format-standard","hentry","category-development"],"_links":{"self":[{"href":"https:\/\/sunpig.com\/martin\/wp-json\/wp\/v2\/posts\/1769","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sunpig.com\/martin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sunpig.com\/martin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sunpig.com\/martin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sunpig.com\/martin\/wp-json\/wp\/v2\/comments?post=1769"}],"version-history":[{"count":0,"href":"https:\/\/sunpig.com\/martin\/wp-json\/wp\/v2\/posts\/1769\/revisions"}],"wp:attachment":[{"href":"https:\/\/sunpig.com\/martin\/wp-json\/wp\/v2\/media?parent=1769"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sunpig.com\/martin\/wp-json\/wp\/v2\/categories?post=1769"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sunpig.com\/martin\/wp-json\/wp\/v2\/tags?post=1769"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}