{"id":869,"date":"2010-05-24T14:05:07","date_gmt":"2010-05-24T21:05:07","guid":{"rendered":"https:\/\/simpleprogrammer.com\/?p=869"},"modified":"2018-02-22T09:49:01","modified_gmt":"2018-02-22T14:49:01","slug":"developer-machine-considerations","status":"publish","type":"post","link":"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/","title":{"rendered":"Developer Machine Considerations"},"content":{"rendered":"<p>I\u2019m back from vacation.\u00a0 And I\u2019m actually starting a new job today.\u00a0 I will be working remotely from home for a company called <a href=\"http:\/\/trackabout.com\">TrackAbout<\/a>.<\/p>\n<p>One of the first things I have been doing to get ready to start this new job is setting up my development workstation at home.\u00a0 There are really quite a few considerations to think about when setting up your home office.<\/p>\n<p><a href=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2010\/05\/monstermachinebox.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-870\" title=\"MonsterMachineBox\" alt=\"\" src=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2010\/05\/monstermachinebox.jpg\" width=\"350\" height=\"521\" srcset=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2010\/05\/monstermachinebox.jpg 350w, https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2010\/05\/monstermachinebox-202x300.jpg 202w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/a><\/p>\n<h2>Hardware<\/h2>\n<p>I was debating between going all out with the Intel 6 core chip or getting the nicely priced AMD 6 core.\u00a0 I ended up choosing the AMD chip because the Intel chip was 3 times the cost, and the chipsets on the motherboards for the AMD chip are a little more stable since they have been around longer.<\/p>\n<p>The processor doesn\u2019t really matter that much anymore since processors are so fast nowadays.\u00a0 What really matters though is the hard disk.\u00a0 On this case I opted for a super fast SSD drive.\u00a0 256GB should be plenty of space, with an additional hard drive just for back ups.\u00a0 The speed improvement when using a really good SSD drive is amazing.\u00a0 It is the single best upgrade you can do in a developer machine.<\/p>\n<p>I also went with a large amount of RAM because I know that if you need to run a virtual machine, RAM is going to be a big deal there.\u00a0 16GB should meet any need just fine.<\/p>\n<p>Finally, I am trying out a quad-monitor setup for the first time.\u00a0 I have been using dual 24\u201d monitors for a long time now, but I have always thought two more would be even better.\u00a0 It is really important to be able to quickly see multiple things going on at once without having to switch between applications.<\/p>\n<p>I\u2019m planning on setting up the monitors like so:<\/p>\n<ol>\n<li>IDE<\/li>\n<li>Reference: web pages, API, etc<\/li>\n<li>Communications: twitter, pidgin, email<\/li>\n<li>Secondary IDE for debug, or SQL server<\/li>\n<\/ol>\n<h2>Desktop or laptop<\/h2>\n<p>Most developers are getting laptops with docking stations these days and while I see the appeal, I like a good old tower and a cheap laptop instead.<\/p>\n<ul>\n<li>With a desktop you can get beefier hardware for less $$$.<\/li>\n<li>You can pick the hardware yourself (which is a big deal for me since I do a large amount of research on each component).<\/li>\n<li>You can have more monitors natively (just buy a 4 port video card).<\/li>\n<li>More upgrade options.<\/li>\n<\/ul>\n<p>I still have a laptop, but it is a cheap light one.\u00a0 The advantage here is that I can just remote desktop into my powerful machine and get all the benefits of both worlds.\u00a0 If I am really ambitious I can even remote in with my iPad or phone.<\/p>\n<p>So, while I can definitely understand the appeal for many to having a laptop that they can just disconnect and carry with them, I still prefer the desktop.<\/p>\n<h2>Virtualize?<\/h2>\n<p>I almost did it this time.\u00a0 I keep going back and forth on this one.\u00a0 I really want to have my development machine be a VM so that I can just load it up and go, but after thinking about it more, I am not sure it is worth the cost.<\/p>\n<p>I kept thinking about why I want to have a virtual machine for my development machine.\u00a0 Really the answer comes down to me liking to have things in a nice separate little box.\u00a0 Sure, I can drop my dev virtual machine on an external drive and take it with me, but I can achieve the same by remoting into it instead.<\/p>\n<p>The thing that made me finally decide on no VM is the idea of optimizing for the rule rather than the exception.\u00a0 The truth of the matter is when I am on my PC, I am going to be spending 90% of my time doing development work, and doing it on that one machine.<\/p>\n<p>When I look at it that way, I can\u2019t see a good reason to take the performance hit of virtualization for the 10% case.\u00a0 I can achieve most of the \u201cneatness\u201d of virtualization by cloning my disk at a good configuration.<\/p>\n<p>I\u2019ll probably still have some sandbox VMs for testing out \u201ccrazy stuff\u201d, but I think I am going to go native so I can really utilize the max out of my new hardware.<\/p>\n<p>I\u2019ll just have to treat my Windows install like I treat my source code.\u00a0 \u201cLeave it better than when I started.\u201d<\/p>\n<p>Anything I\u2019m missing here or not seeing?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019m back from vacation.\u00a0 And I\u2019m actually starting a new job today.\u00a0 I will be working remotely from home for a company called TrackAbout. One of the first things I have been doing to get ready to start this new job is setting up my development workstation at home.\u00a0 There are really quite a few&#8230;<\/p>\n","protected":false},"author":2,"featured_media":870,"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":"","footnotes":""},"categories":[79,1981],"tags":[],"class_list":["post-869","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hardware","category-tools"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Developer Machine Considerations<\/title>\n<meta name=\"description\" content=\"John Sonmez shares his picks in building a new developer machine, including why he opted for a tower over a laptop and why he did not go with with a dev vm.\" \/>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Developer Machine Considerations\" \/>\n<meta property=\"og:description\" content=\"John Sonmez shares his picks in building a new developer machine, including why he opted for a tower over a laptop and why he did not go with with a dev vm.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/\" \/>\n<meta property=\"og:site_name\" content=\"Simple Programmer\" \/>\n<meta property=\"article:published_time\" content=\"2010-05-24T21:05:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-02-22T14:49:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2010\/05\/monstermachinebox.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t<meta property=\"og:image:height\" content=\"521\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"John Sonmez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"John Sonmez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/developer-machine-considerations\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/developer-machine-considerations\\\/\"},\"author\":{\"name\":\"John Sonmez\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"headline\":\"Developer Machine Considerations\",\"datePublished\":\"2010-05-24T21:05:07+00:00\",\"dateModified\":\"2018-02-22T14:49:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/developer-machine-considerations\\\/\"},\"wordCount\":747,\"commentCount\":8,\"image\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/developer-machine-considerations\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2010\\\/05\\\/monstermachinebox.jpg\",\"articleSection\":[\"Hardware\",\"Tools\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/developer-machine-considerations\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/developer-machine-considerations\\\/\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/developer-machine-considerations\\\/\",\"name\":\"Developer Machine Considerations\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/developer-machine-considerations\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/developer-machine-considerations\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2010\\\/05\\\/monstermachinebox.jpg\",\"datePublished\":\"2010-05-24T21:05:07+00:00\",\"dateModified\":\"2018-02-22T14:49:01+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\"},\"description\":\"John Sonmez shares his picks in building a new developer machine, including why he opted for a tower over a laptop and why he did not go with with a dev vm.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/developer-machine-considerations\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/simpleprogrammer.com\\\/developer-machine-considerations\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/developer-machine-considerations\\\/#primaryimage\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2010\\\/05\\\/monstermachinebox.jpg\",\"contentUrl\":\"https:\\\/\\\/simpleprogrammer.com\\\/wp-content\\\/uploads\\\/2010\\\/05\\\/monstermachinebox.jpg\",\"width\":350,\"height\":521},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/developer-machine-considerations\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/simpleprogrammer.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Developer Machine Considerations\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#website\",\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/\",\"name\":\"Simple Programmer\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/simpleprogrammer.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/simpleprogrammer.com\\\/#\\\/schema\\\/person\\\/1abc70edfb189184827740310672de67\",\"name\":\"John Sonmez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g\",\"caption\":\"John Sonmez\"},\"url\":\"https:\\\/\\\/simpleprogrammer.com\\\/author\\\/jsonmez\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Developer Machine Considerations","description":"John Sonmez shares his picks in building a new developer machine, including why he opted for a tower over a laptop and why he did not go with with a dev vm.","robots":{"index":"noindex","follow":"follow"},"og_locale":"en_US","og_type":"article","og_title":"Developer Machine Considerations","og_description":"John Sonmez shares his picks in building a new developer machine, including why he opted for a tower over a laptop and why he did not go with with a dev vm.","og_url":"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/","og_site_name":"Simple Programmer","article_published_time":"2010-05-24T21:05:07+00:00","article_modified_time":"2018-02-22T14:49:01+00:00","og_image":[{"width":350,"height":521,"url":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2010\/05\/monstermachinebox.jpg","type":"image\/jpeg"}],"author":"John Sonmez","twitter_card":"summary_large_image","twitter_misc":{"Written by":"John Sonmez","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/#article","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/"},"author":{"name":"John Sonmez","@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"headline":"Developer Machine Considerations","datePublished":"2010-05-24T21:05:07+00:00","dateModified":"2018-02-22T14:49:01+00:00","mainEntityOfPage":{"@id":"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/"},"wordCount":747,"commentCount":8,"image":{"@id":"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/#primaryimage"},"thumbnailUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2010\/05\/monstermachinebox.jpg","articleSection":["Hardware","Tools"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/simpleprogrammer.com\/developer-machine-considerations\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/","url":"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/","name":"Developer Machine Considerations","isPartOf":{"@id":"https:\/\/simpleprogrammer.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/#primaryimage"},"image":{"@id":"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/#primaryimage"},"thumbnailUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2010\/05\/monstermachinebox.jpg","datePublished":"2010-05-24T21:05:07+00:00","dateModified":"2018-02-22T14:49:01+00:00","author":{"@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67"},"description":"John Sonmez shares his picks in building a new developer machine, including why he opted for a tower over a laptop and why he did not go with with a dev vm.","breadcrumb":{"@id":"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/simpleprogrammer.com\/developer-machine-considerations\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/#primaryimage","url":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2010\/05\/monstermachinebox.jpg","contentUrl":"https:\/\/simpleprogrammer.com\/wp-content\/uploads\/2010\/05\/monstermachinebox.jpg","width":350,"height":521},{"@type":"BreadcrumbList","@id":"https:\/\/simpleprogrammer.com\/developer-machine-considerations\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/simpleprogrammer.com\/"},{"@type":"ListItem","position":2,"name":"Developer Machine Considerations"}]},{"@type":"WebSite","@id":"https:\/\/simpleprogrammer.com\/#website","url":"https:\/\/simpleprogrammer.com\/","name":"Simple Programmer","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/simpleprogrammer.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/simpleprogrammer.com\/#\/schema\/person\/1abc70edfb189184827740310672de67","name":"John Sonmez","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dc2f18dfa76e017566ce607de002d7abe4acfd5ec19a6db82c180b00867b8d94?s=96&d=mm&r=g","caption":"John Sonmez"},"url":"https:\/\/simpleprogrammer.com\/author\/jsonmez\/"}]}},"_links":{"self":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts\/869","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/comments?post=869"}],"version-history":[{"count":0,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/posts\/869\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/media\/870"}],"wp:attachment":[{"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/media?parent=869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/categories?post=869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/simpleprogrammer.com\/wp-json\/wp\/v2\/tags?post=869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}