{"id":316,"date":"2011-08-04T12:59:59","date_gmt":"2011-08-04T19:59:59","guid":{"rendered":"http:\/\/angryweasel.com\/blog\/?p=316"},"modified":"2011-08-04T12:59:59","modified_gmt":"2011-08-04T19:59:59","slug":"living-virtually","status":"publish","type":"post","link":"https:\/\/angryweasel.com\/blog\/living-virtually\/","title":{"rendered":"Living Virtually"},"content":{"rendered":"<p>I wrote about using virtual machines for testing in <a href=\"http:\/\/www.hwtsam.com\">hwtsam<\/a>, and gave <a href=\"http:\/\/www.sqe.com\/ConferenceArchive\/StarWest2009\/Concurrent.html#W11\" target=\"_blank\">a talk<\/a> at <a href=\"http:\/\/sqe.com\/starwest\" target=\"_blank\">STAR West<\/a> a few years back on using virtual machines for testing. What I remember most about the talk was the group of VMWare employees sitting about 10 rows back (I think to ensure that I didn\u2019t say anything bad about them \u2013 I didn\u2019t). In fact, I\u2019m a fan of virtual machines no matter where they come from \u2013 they\u2019re incredibly useful, and in many cases, and under used productivity aid.<\/p>\n<p>One point I seem to forget to mention when I\u2019m talking about virtual machines is how convenient they are beyond testing purposes. I wanted to share a recent experience of mine, but there\u2019s a bit of a story leading to the punch line, so feel free to skip ahead a few paragraphs if you\u2019re busy.<\/p>\n<p>I have three computers in my office at work. My main \u201cdev \/ test box\u201d is a win2k8 server (for reasons beyond the scope of this post, we build our product only on server machines). We have fancy tools that let us build and deploy (for testing) quickly on this single machine, and in order to not break the consistency of this niceness, we never, ever install any shipped office bits on these machines \u2013 only bits that we generate through the build process. The consistent use of machine and build configurations eliminates <em>nearly<\/em> all of the \u201cit doesn\u2019t work that way on my machine\u201d, or \u201cmy build is broken\u201d issues.<\/p>\n<p>Because real users don\u2019t use our dev machines, I also have a \u201ctest machine\u201d \u2013 which I use for (surprise, surprise), testing. Because I\u2019m working on the next version of Office, that\u2019s all it runs most of the time.<\/p>\n<p>Then I have my laptop. Since I use it for everything else, it runs (usually \u2013 but see below) office 2010, and I use it for email, docs, etc. About a month ago, I needed to install our pre-beta bits on my laptop. In general, we can run our new stuff side by side with the shipped stuff, and it works fine. However, in a long bout of yak-shaving one day, I had to uninstall all versions of Office from my laptop. But I still needed the latest bits to reproduce a bug I found, so to save time, I just installed the new pre-beta bits. <\/p>\n<p>You see where I\u2019m at now. I don\u2019t have any machines running shipped office bits anymore. While the pre-release apps all work quite well, they\u2019re a bit\u2026unrefined. I\u2019m a big fan of \u2018<a href=\"http:\/\/en.wikipedia.org\/wiki\/Eat_one's_own_dog_food\" target=\"_blank\">eating my own dogfood<\/a>\u2019, but sometimes I need the confidence that comes from using something a bit more baked.<\/p>\n<p>I almost started to install the shipped office bits back on my laptop when I realized two things. The first was that I was extremely worried that I\u2019d spend a few hours every week tweaking things on my laptop \u2013 installing, and uninstalling in order to clear up weirdness, or keeping things in sync switching between different versions of the same app. I want to continue running daily builds as much as I can, and knew I\u2019d end up switching between different versions of the same application all the time, and I was worried about the time hit. The second thing I realized was that a virtual machine could be a nice solution for me.<\/p>\n<p>It only took me an hour or two to set up a hyper-v vm (hosted on my \u201cdev box\u201d), install windows, office 14, and sync documents with my live mesh account and I had a vm that acted so much like a \u2018real\u2019 pc that after a month, I still forget sometimes that it\u2019s not a real machine. I use our prerelease bits for nearly everything, but can rely on the vm (which I connect with over terminal services) when I feel the need to work with shipped software \u2013 for example, my vm currently has a copy of word open with my pnsqc paper. It\u2019s cool, because I was working on it last night (connected from home), and just left word open. When I logged on to the vm this morning from work, it was right where I left it. It\u2019s so damn convenient, in fact, that I can\u2019t imagine not having a \u201cwork\u201d vm anymore, and I can see a point in the not-too-distant future where we all use virtual machines in the cloud more than physical computers.<\/p>\n<p> &#8211; written and published from a virtual machine<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I wrote about using virtual machines for testing in hwtsam, and gave a talk at STAR West a few years back on using virtual machines for testing. What I remember most about the talk was the group of VMWare employees sitting about 10 rows back (I think to ensure that I didn\u2019t say anything bad&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-316","post","type-post","status-publish","format-standard","hentry","category-allposts"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/comments?post=316"}],"version-history":[{"count":0,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/316\/revisions"}],"wp:attachment":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/media?parent=316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/categories?post=316"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/tags?post=316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}