Slashdot Mirror


Ask Slashdot: Configuring Development Environment On a Shared Workstation?

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."

17 of 158 comments (clear)

  1. Comment removed by account_deleted · · Score: 5, Interesting

    Comment removed based on user account deletion

  2. Yawn by Anonymous Coward · · 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.

    1. Re:Yawn by Anonymous Coward · · Score: 3, Funny

      This^

    2. Re: Yawn by Anonymous Coward · · Score: 2, Funny

      Current working directory.

  3. VirtualBox by Anonymous Coward · · 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.

    1. Re:VirtualBox by mlts · · Score: 3, 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.)

  4. I wouldn't worry too much by dreamchaser · · Score: 4, 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.

  5. Re:haha what? by pspahn · · Score: 2

    Pretty much this. Not sure who these "other users" are, but if they are children, you're going to regret giving them access to your dev machine.

    Personally, I use a host for a lot of my development. Local development is nice and fast and all, but I find it tends to give developers a false idea of how well their code performs in a live environment.

    --
    Someone flopped a steamer in the gene pool.
  6. Re:Let work provide tools for work by gabereiser · · Score: 3, Insightful

    This, I'm surprised people are even giving suggestions for him to do work that's "not part of his job description" in his spare time. Don't. Just don't do it. You either get paid to do the work level that your qualified to do or you don't. Don't take on responsibilities that aren't yours. This is a cardinal rule as will only end up in you working yourself to death doing everyone else's job (even if they don't even work there at all). Limit yourself to your job description and leave it at that. If that need a mobile developer, inform them that you would do it gladly but that it would be additional job duties and you should be compensated for it in turn.

  7. Lots of services? Why? by Karellen · · Score: 2

    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.

    Huh?

    Why will there be "a lot" of services running? Yes, you'll have IIS and SQL server, but that's only two services - and if you've only got a small test database and a couple of dev websites, they'll hardly take any resources at all if you're not actually using them. So, if you're not sat in front of the computer actually doing development, and someone else is logged in instead, it shouldn't really affect them at all. Ditto "long build times" - what sort of things are you planning on writing that are going to take so long to build that you'll have to walk away from the computer for long enough that someone else will want to use it concurrently?

    Visual Studio, the SDKs, and the emulators will put extra entries in other people's start menus, but so what? If they don't run them themselves, they won't do anything or get in the way. Presumably not all these other users run your music production and photo editing software either, and that's not hurting them, is it?

    To wit, I wouldn't be able to use my desktop for my other purposes like the music editing.

    Why on earth not?

    --
    Why doesn't the gene pool have a life guard?
  8. Cheaping out. by westlake · · Score: 3, Insightful
    Do yourself a favor and buy a PC that is all your own.

    Work product on a shared home PC? Multiple users? The most brain-dead idea ever posted to Slashdot.

  9. Re:haha what? by icebike · · Score: 2

    Pretty much this. Not sure who these "other users" are, but if they are children, you're going to regret giving them access to your dev machine

    Wait, has windows 8.1 slipped so far in the security department that you can't isolate one user from another?
    Windows professionals tell me all the time that windows can be protected and locked down just as tightly as Linux. (I don't necessarily believe this, but they get paid the big bucks to do this in their day jobs).

    Normal account control features should provide all the protection you need if used correctly. Children should have a limited account, obviously, but permissions should keep any unauthorized users out of protected areas aren't new, unless someone is saying they have been deleted from windows 8.1. (In which case a swift downgrade to Windows 7 might be in order).

    A big thumb drive for backups might be in order, obviously, but Windows should be able to provide enough protection for a self study project.

    --
    Sig Battery depleted. Reverting to safe mode.
  10. go virtual on a dedicated box by D1G1T · · Score: 2

    Once you get used to working virtualized with remote desktop access you'll never go back. Fire up a new "machine" for every work-profile. You can tune the number of processors and memory per VM so that big compile or video render won't step on something that needs to be interactive. After seeing http://www.virtuallyghetto.com/p/apple-mac-mini-resources.html I went out and grabbed a mac mini and a thunderbolt ethernet adapter (for dual ports), and downloaded the free vmware esxi package. It makes everything very easy.

  11. Re: Use IIS Express, SQL Server LocalDB, Visual St by VTBlue · · Score: 3, Interesting

    I agree with this. Hyper-V on windows 8.1 is the way to go for dev environment if you need desktop class OS. If you can get a dev license for Windows Server 2008 or 2012, it will be fine also and help you later on in the configuration management as you approach production level code.

    Either way you should absolutely virtualize and learn how to use Fixed Differencing VMs (base workstation host + base virtual machine + differenced VM). Once you get a baseline virtual machine set up, you make it read-only and have all future modifications go to the differenced VM. This way if you ever need to start over or spin up a duplicate environment using different configuration, you can start a new differenced image or just delete the existing diff image.

  12. Re:haha what? by Tablizer · · Score: 2

    buy another computer

    Seconded. Safer and easier to have a dedicated workstation. Sometimes you have to "invest" in your career.

    I've purchased RAM, communications software, chair mats, thumb (flash) drives, etc. for work to keep things smooth that otherwise were difficult to get procured for various reasons.

  13. Re: haha what? by kenh · · Score: 2

    I just picked up a nice Dell desktop at their off-lease store http://dfsdirectsales.com/ that could easily handle your development work. It is an Optiplex 790 desktop with anIvy Bridge i5 CPU (i5-2400), mfg says it supports 16 Gigs of RAM (web reports show it can take 32 gigs), has a single HD bay and with a coupon it was just about $250 with 2 Gigs RAM and a small HD (80-160 Gig) shipped.

    This is a quad-core CPU, and for an OS I'd suggest looking into the various MS offering to get you a single-use OS license for the software you need (like dreamspark, biz spark, etc.). You can run Win 8.1 Hyper-V or Windows Server 2012 Hyper-V on this type of machine, whichever you have a license for...

    --
    Ken
  14. Railroaded by intense technical discussion... by aaronb1138 · · Score: 2

    I can't be the only one who noticed a few things that seem amiss with the premise.

    a) This guy has taken a new job and intends to take home an entirely unrelated project to do on his own.

    b) He's not asking his workplace to provision resources for him to do this out of job scope project. Sounds like he hasn't consulted with anyone about taking on this task.

    c) He claims to have the skillset to easily solve their website / application needs, but hasn't been successful enough professionally to purchase reasonable tools for his trade. Even car mechanics in the $18-25k / year range (essentially poverty) manage to save and invest appropriately in quality tools.

    d) He's doing an Ask /. for a question trivially answerable by Google or any modern best practices for development guide.

    e) Many of the tools he will more than likely be pirating are each worth more than the general requirements he has for this endeavor as far as hardware goes. Will his employer be alright with this?

    f) Oh, I see, he's into music production (Reason). Ignore all of my other issues. Sorry, but his request for assistance falls awfully well into certain stereotypes which explain everything.