Ask Slashdot: Configuring Development Environment On a Shared Workstation? 158
First time accepted submitter xyourfacekillerx writes "After a long hiatus of developing (ASP.NET), I decided to pick it up again. I need to learn .NET and SQL for my new job (GIS tech using ESRI software). Down the road they need a PHP website, tons of automation tasks, some serious data consolidation, they want mobile apps in theory. This is not my job description, but I'm sure I can do it. Long story short, I need to setup a development environment on my home desktop, so I can do all this in my spare time. Trouble is, I share the machine (Win 8.1, 2.7 dual core pentium something or other, with virtualization support.) I want to avoid affecting the other users profiles. I currently use my profile for music production (Reason) and photography (Photoshop, et al) so it's already resource intensive with RAM, CPU and VMM. I'll be needing to install all of your basic Microsoft developer suites, IIS, SQl Server, ANdroid SDK, Java SDK, device emulators, etc. etc. Plus AMP and finally GIS software. There will obviously be a lot of services running, long build times, and so on. To wit, I wouldn't be able to use my desktop for my other purposes like the music editing. So I need some advice. Would it help to set up all these tools under a different account on the same Win 8.1 install? Or should I virtualize my development environment (and how?), and run the virtual machine side by side? Or should I add a HDD or secondary partition and boot to that when I intend to develop? I am poor ATM, but is there a cheap very mini PC I can place next to my desktop and run all my development software off that, remote desktop into it? I've done a lot of googling the last week and haven't turned up anything, so I turn to Slashdot. Please help me get organized so I can start coding again."
Yawn (Score:4, Insightful)
Why are these questions landing on ./?
I am sure there is forums more adequate for this kind of line noise.
Let's turn the tide before Slashdot turns into News For Idiots.
VirtualBox (Score:5, Insightful)
Step 1: Install VirtualBox (https://www.virtualbox.org/)
Step 2: Install the dev. OS of your choice inside your new virtual box.
Step 3: Install all the dev. tools you need into the OS inside the new virtual box.
Voilla, you've now hidden most of your dev. changes from anyone else using the PC. They just see a VirtualBox install.
I wouldn't worry too much (Score:5, Insightful)
You didn't post your exact specs, but if you're worried about services and are resource constrained, just set them to start manually. When you want to code, start the ones you need (webserver, SQL, etc.). It's a little more work but it's not that bad. You could even script it so that all you'd need to do is run one command script to start or stop the needed services.
Re:Let work provide tools for work (Score:4, Insightful)
Cheaping out. (Score:4, Insightful)
Work product on a shared home PC? Multiple users? The most brain-dead idea ever posted to Slashdot.
Re:VirtualBox (Score:4, Insightful)
Virtual machines are great for other uses. Malware or corruption? Roll back to a snapshot. Want to see how one's system is at the exact time a 1.0 release gets pushed out? Snapshot time. Fearing that a bad coding error takes the VM out? Snapshot before the run.
Of course, VMs won't help much if doing hardware development, but with just one PC used by multiple people, VMs are pretty much the only way to go.
As for VM software, that can be a toss-up. VirtualBox is licensed at no charge, VMWare costs a couple C-notes, and Hyper-V may be present on the box. Hyper-V is nice since it is a type 1 hypervisor (so a second VM runs on the same level as the main machine), but VMWare Workstation has a lot of nice tools (encryption for the disk files, auto-protect for snapshot backups, etc.)