Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Ask Slashdot: Configuring Development Environment On a Shared Workstation?

timothy posted about 8 months ago | from the show-me-your-diagram dept.

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

cancel ×

158 comments

Sorry! There are no comments related to the filter you selected.

Use IIS Express, SQL Server LocalDB, Visual Studio (1)

Anonymous Coward | about 8 months ago | (#46008363)

They don't take up resources when they're not running...

Re:Use IIS Express, SQL Server LocalDB, Visual Stu (1)

SQLGuru (980662) | about 8 months ago | (#46009783)

As a consultant, I run a new VM for each client. This ensures that the software I install for one client (including licensed software) doesn't interfere with any of the software for another client. You should be able to do the same with your development environment at home. Virtual Box works well. I currently use Hyper-V on my Windows 8.1 machine. Whichever you prefer should do. If the machine is shut down, it doesn't really consume any resources.

Re: Use IIS Express, SQL Server LocalDB, Visual St (3, Interesting)

VTBlue (600055) | about 8 months ago | (#46010095)

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.

Re:Use IIS Express, SQL Server LocalDB, Visual Stu (1)

xyourfacekillerx (939258) | about 8 months ago | (#46010081)

They don't take up resources when they're not running...

Well, ... now I know...

Re: Use IIS Express, SQL Server LocalDB, Visual St (1)

VTBlue (600055) | about 8 months ago | (#46010111)

I'm not sure that this is true. In the default installation the services are configured to run. I could be mistaken though.

Either way don't install IIS or SQL Server on the host OS, install only on the virtual machine.

haha what? (5, Interesting)

ebubna (765457) | about 8 months ago | (#46008369)

buy another computer, get a kvm if you feel like you need to.

Re:haha what? (2)

pspahn (1175617) | about 8 months ago | (#46008447)

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.

Re:haha what? (2)

icebike (68054) | about 8 months ago | (#46008791)

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.

Re:haha what? (0)

Anonymous Coward | about 8 months ago | (#46009145)

The problem is that when you start installing dev tools, you end up with system services installed.

If you're using a computer for any significant music production you should probably make sure that it's only used for that. You don't want some bullshit printer driver or Java trying to run an update while you're recording & ruining the take.

Re:haha what? (1)

icebike (68054) | about 8 months ago | (#46009331)

If that's a problem, you haven't got enough computer for EITHER task.
Watch your processor utilization while messing with music. Its loafing.

Its just not a problem with modern multi-processor hardware.
 

Re:haha what? (0)

Anonymous Coward | about 8 months ago | (#46009195)

Wait, has windows 8.1 slipped so far in the security department that you can't isolate one user from another?

No. 8.1 continues with the NT-based windows concept of user account separation and has virtually (if not exactly) the same user separation as windows 7

I don't know how you even read it as a windows 8.1 problem either. I think the implication in parent comment was that children can wreck things in general.

Re:haha what? (1)

icebike (68054) | about 8 months ago | (#46009293)

I don't read it as a windows 8 problem.

The people I was responding to seem to think you need all separate hardware.
No way that should be necessary, with any modern hardware if the user understands how to manage the system properly. .

Re:haha what? (1)

dbIII (701233) | about 8 months ago | (#46009767)

Wait, has windows 8.1 slipped so far in the security department that you can't isolate one user from another

Assuming different library paths etc, then not easily.
Sadly, the CP/M I was using on a toy computer at school in 1985 had better user separation than modern MS Windows.

Re:haha what? (1)

fisted (2295862) | about 8 months ago | (#46009771)

Wait, has windows 8.1 slipped so far in the security department that you can't isolate one user from another?

slipped? has windows /ever/ been there?

Re:haha what? (1)

Anonymous Coward | about 8 months ago | (#46008467)

Woah. Question asked and answered. I vote we close this discussion now.

Yawn (4, Insightful)

Anonymous Coward | about 8 months ago | (#46008375)

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.

Re:Yawn (-1)

Anonymous Coward | about 8 months ago | (#46008501)

Let's turn the tide before Slashdot turns into News For Idiots.

Too late.

Re:Yawn (3, Funny)

Anonymous Coward | about 8 months ago | (#46008603)

This^

Re: Yawn (-1)

Anonymous Coward | about 8 months ago | (#46008557)

What the fuck is ./ you fucking idiot?

Re: Yawn (2, Funny)

Anonymous Coward | about 8 months ago | (#46008609)

Current working directory.

Re:Yawn (0)

Grishnakh (216268) | about 8 months ago | (#46008587)

Not only that, he's asking the wrong forum. If you have questions about all these Microsoft technologies, why not go to the experts at Microsoft and ask them? That's what you're paying all that money for with that MSDN account. I'm sure they'll be happy to advise you on how to proceed.

If you can't afford an MSDN account, then you really have no business doing MS development work. If you're working with MS technologies at work, they're supposed to provide that stuff for you.

Re:Yawn (0)

Anonymous Coward | about 8 months ago | (#46008869)

I think that's a little harsh.

(Says the guy with an MSDN VS Ultimate account.)

Re:Yawn (1, Informative)

Grishnakh (216268) | about 8 months ago | (#46009047)

I don't think it's "harsh", it's about using what you paid for. What's the point in giving thousands of dollars to a vendor if you're not going to take advantage of the services the vendor offers you? If you have questions about your vendor's products (which you've already decided to use and base your business on), then you might as well ask the vendor, not some random collection of people.

Re:Yawn (0)

Anonymous Coward | about 8 months ago | (#46008687)

Because this is what Ask Slashdot is for?

Re:Dev Machine of the Future (0)

Anonymous Coward | about 8 months ago | (#46010091)

ARM Board...

VirtualBox (5, Insightful)

Anonymous Coward | about 8 months ago | (#46008377)

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.

Or boot straight to the virtual machine (0)

Anonymous Coward | about 8 months ago | (#46008989)

http://www.hanselman.com/blog/LessVirtualMoreMachineWindows7AndTheMagicOfBootToVHD.aspx

It may be worthwhile encrypting the OS within the virtual machine with TrueCrypt or similar (install the OS, then install TrueCrypt in it, it's very straightforward.)

Re:VirtualBox (1)

WarJolt (990309) | about 8 months ago | (#46009223)

Development PCs require a different set of tools for different developers. Even on the same project someone will invariably want to use their own favorite tool. A developer cannot depend on IT or a sys admin to install something that they might need. A virtual machine can allow for custom development environments without affecting other users. Virtual machines will also help when you need to do some testing.

Re:VirtualBox (3, Insightful)

mlts (1038732) | about 8 months ago | (#46009569)

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

Re:VirtualBox (1)

sproketboy (608031) | about 8 months ago | (#46009449)

But that's not a Microsoft solution you insensitive clod!

Re: VirtualBox (0)

Anonymous Coward | about 8 months ago | (#46009665)

Why use VirtualBox when Hyper-V is already built into the OS? That's like using Firefox instead of the built-in IE or VLC instead of WMP.

Oh, wait...

Lenovo Tiny with an SSD (0)

Anonymous Coward | about 8 months ago | (#46008381)

http://www.amazon.com/s/?ie=UTF8&keywords=lenovo+tiny&tag=googhydr-20&index=aps&hvadid=25726585877&hvpos=1t1&hvexid=&hvnetw=g&hvrand=337053786747876411&hvpone=&hvptwo=&hvqmt=e&hvdev=c&ref=pd_sl_3l2jixlovt_e

I wouldn't worry too much (4, Insightful)

dreamchaser (49529) | about 8 months ago | (#46008387)

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.

Sounds like you answered your own question (1)

achbed (97139) | about 8 months ago | (#46008393)

If you're that concerned about not affecting other users, then either separate hardware or virtualization is the answer. Whether you virtualize or buy new hardware depends on the level of performance required and what else will be running at the same time. If you want to build in the background and continue to maintain your existing audio suite (wich, as you say, needs to take over all reqources on the machine) then you've answered your own question: buy the separate box that you remote into for your development work. I would note that a lot of the audio editing suites out there do not like it when you install additional products to your system and become more unstable the more you add. This is another vote for separate hardware - keeping stability on your current box (which means more time working and less time debugging the system).

Re:Sounds like you answered your own question (1)

Rob the Bold (788862) | about 8 months ago | (#46008525)

If you're that concerned about not affecting other users, then either separate hardware or virtualization is the answer.

Exactly. Or even do both: Virtualize first, then throw more hardware at it if/when necessary. Just move the virtual machine to another physical machine as required. Also makes it easy to build and test in multiple versions of multiple distros of multiple OSs. Plus, you can now backup (or even version-control) your whole build environment as easily as saving a single file using whatever method you like.

Re:Sounds like you answered your own question (1)

Billly Gates (198444) | about 8 months ago | (#46008605)

You can get 16 gigs of ram, AMD 6 core, and ssd system for $800. Virtualbox is free until first paycheck where VMware is better. Sounds like the wife is holding the purse strings or he was unemployed for awhile. Credit card time and pay it off in 3 months. Sorry but things cost money and he and the misses need to suck it up. A dual core tablet won't do what is needed.

For web work virtualization is required as freaking office!? Clients love IE 6 support and whine about your code if an ancient IE rendering bug pops out.

Use a VM (0)

Anonymous Coward | about 8 months ago | (#46008399)

Great reason to use a VM, VMware, Parallels, whatever..

If you build up a dev system in the VM, it's portable and can be very stable over time (a big plus when you spend a lot of time getting your tool chains all configured).

Native boot virtual machines (0)

Anonymous Coward | about 8 months ago | (#46008401)

I use native boot virtual machines - get the benefit of separate os environments and (almost) all the speed of running bare metal (only the disk is virtualized).

I don't get it (1)

jez9999 (618189) | about 8 months ago | (#46008409)

Why are you sharing a workstation with someone else if you're doing all this stuff on it? With whom are you sharing it? For all my jobs I have had my own workstation and so have any other developers. Are you only coming into work 50% of the time or something?

Re:I don't get it (0)

Anonymous Coward | about 8 months ago | (#46008443)

"on my home desktop"

Re: I don't get it (1)

monkeyhybrid (1677192) | about 8 months ago | (#46008483)

The OP mentions this is a home PC, so presumably they share it with family or housemates.

Re:I don't get it (0)

Anonymous Coward | about 8 months ago | (#46008847)

Do you only read 50% of the summary or something?

Let work provide tools for work (1)

Anonymous Coward | about 8 months ago | (#46008449)

Draw the line between personal and work. You can find a diplomatic way to ask for your manager to provide the tools that you need to perform the work that they will ask you to do.
If work has a test environment, ask for access to that. No test environment? Develop on the system where the site will be hosted. Once that is done, go back to the manager and ask them to budget for the test server (unless they want to deploy test code in production.)

Re:Let work provide tools for work (3, Insightful)

gabereiser (1662967) | about 8 months ago | (#46008509)

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.

Re:Let work provide tools for work (1)

Anonymous Coward | about 8 months ago | (#46008669)

Yeah, what a sucker, trying to update his skills (that he doesn't yet have) in advance so he's ready to fill what he sees as an upcoming need in his business and negotiate from a position of strength having already prepared to do the job. But fuck that, it's not in his job description. What a shitty attitude. Not everyone is a do the bare minimum to get by clock puncher. Some people proactively identify problems and solve them. This is a prime skill for success. .

There's a huge difference between "doing extra work for free" and "learning how to do the work so you can get paid for it". This guy clearly falls into the latter category.

Re:Let work provide tools for work (1)

manicb (1633645) | about 8 months ago | (#46008949)

Welcome to Slashdot 2014: news for professionals, stuff that you're being paid to care about

Simple... Cheap. (0)

Anonymous Coward | about 8 months ago | (#46008475)

Two removable drives and a drive bay.

What you should get... (0)

Anonymous Coward | about 8 months ago | (#46008489)

... it's a life.

Seriously, I know this could be unpopular here on ./ , but I think you are waaaaaayyyy over the top and all over the place...

Myself, I did all this stuffs, multimedia, audio production, programming and so... I and strongly recommend you to NOT DO ALL AT THE SAME TIME.

Besides, you should not be sharing a PC by now.

hit up craigslist (0)

Anonymous Coward | about 8 months ago | (#46008491)

for 3hundred bucks you can get pretty much anything you will need
im totally serious
sharing a box with other users is just going to be a lot of trouble

This is a patented recipe for catastrophe (1)

vikingpower (768921) | about 8 months ago | (#46008513)

Get a dedicated development box. Quickly. Do it now. You will be heading for serious trouble otherwise. And as another use above said: SEPARATE YOUR CONCERNS. You need at least 2 boxes, then. Really.

Re:This is a patented recipe for catastrophe (0)

Anonymous Coward | about 8 months ago | (#46008559)

What trouble, precisely?

There's really nothing that special about development.

Re:This is a patented recipe for catastrophe (0)

Anonymous Coward | about 8 months ago | (#46008855)

What trouble, precisely?

There's really nothing that special about development.

Nothing special, except if it is critical that the development environment works all the time. Development tends to be critical more often than the other tasks you might do on a computer.

Let's say you are working and developing on the same computer you play games on. Your games run somewhat slow, so you decide to install new graphics card drivers. Oops, something went wrong and now the computer fails to boot properly.* At this point you also get a call from your boss that there's [insert some emergency here] and it has to be solved in the next two hours. Now a second development machine would probably sound like a great idea.

* Note that you don't have another computer to access the Internet for help, and you might also have a dumbphone so no help there either.

Just install it? (1)

SatiricComet (1337631) | about 8 months ago | (#46008521)

I don't get it. Just install the development environment. Having Visual Studio installed is not going to make other applications slower. Just don't run Photoshop, Visual Studio, Reason and Crysis at the same time?

Re:Just install it? (0)

Anonymous Coward | about 8 months ago | (#46009015)

Installing SQL Server there'll be services running all of the time, and other frameworks are likely to be similar.

Re:Just install it? (1)

Decker-Mage (782424) | about 8 months ago | (#46009529)

Sorry, but if there's nothing executing in the background, SQL Server Enterprise will see a 3% hit every three seconds on a dual-core Core 2. Even with largish loads it still doesn't spend much time, or effort, just 'hanging-out.' It's when you put it under strain (heavy transactional loads) that it can chew up your resources. And I sure as heck wouldn't be doing load testing on a dual-core Pentium. Load testing should always be done on the target. Anything else just doesn't make sense. In Real Life engineering.

Get another PC (1)

Bearhouse (1034238) | about 8 months ago | (#46008527)

Good luck and congrats on your motivation.
Now, if you have spare time but no cash, get another job, evenings or weekends, and then buy yourself a decent dev box.
Or a tablet or laptop for the other people who share the machine.
If you're space and budget constrained, you can share the screen(s) with a switch box.

Re:Get another PC (0)

PetiePooo (606423) | about 8 months ago | (#46008633)

This.

Or what about renting a server? For the RAM requirements you're going to need, you'll likely need more than the entry level offering, but the capital expenses are lower than having to buy a new computer...

Re:Get another PC (1)

Billly Gates (198444) | about 8 months ago | (#46008741)

You can get 16 gig of ram for $120. The CPU though is not vm friendly

Vagrant (0)

Anonymous Coward | about 8 months ago | (#46008539)

Vagrant is a great tool to keep your work organized on a VM. Spend the time to build a nice Windows VM with your base tools on it, then use it as a template (box in Vagrant terms). Unless you are also working off of crappy hardware you should be able to host the VM on your workstation and have it be fast enough for work use. Write a script to take your base tools image and your source control repo and build out a working development environment in one shot and you now have a consistent and repeatable process that can be handed off to someone in the future, is easily backed up to rebuild on a new workstation or can even be moved to "the cloud" using a different Vagrant provider like VMWare, AWS or Rackspace.

Boot off a second hard disk (1)

Marrow (195242) | about 8 months ago | (#46008543)

It will also make backups easy since you can clone from one disk to the other.

VMWARE workstation all the way (1)

Billly Gates (198444) | about 8 months ago | (#46008555)

I couldn't function without it.

You need IE 6,7,8,9, and w3c compliant browsers all up. You may need node.js to test something that can conflict with Apache? Problem solved create another VM and don't mess with the other one. Need a domain setup like work to test app? Create a server and client to test etc. I would even go as far as saying no real professional would not use them.

Now in terms of your computer and conversation with the misses. Get a new one. It is pennywise and dollar dumb without one. It is an asset and not an expense. VMWare is not kind for anything under 4 cores and 8 gigs of ram without an ssd. Well ok maybe 1 vm but you will be using many ancient versions of IE and web servers. Get an AMD as for 1/3 the cost has 6 cores with hardware virtualization that only icore7s have. For the moderators, I am not proselytizing AMD as a fan boy but rather had to get it as 1st Gen icore5's did not support virtualization in the bios.

Lots of services? Why? (2)

Karellen (104380) | about 8 months ago | (#46008565)

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?

Re:Lots of services? Why? (0)

Anonymous Coward | about 8 months ago | (#46009621)

SQL Server alone is 10 services. 5 of them are per-instance, which means that installing multiple instances of SQL Server will add more installations of this same service to your system. The other 5 are shared amongst all installed instances of SQL Server.

- SQL Full-text Filter Daemon Launcher (Per instance)
- SQL Server (Per instance)
- SQL Server Agent (Per instance)
- SQL Server Analysis Services (Per instance)
- SQL Server Browser
- SQL Server Distributed Replay Client
- SQL Server Distributed Replay Controller
- SQL Server Integration Services [versioned]
- SQL Server Reporting Services (Per instance)
- SQL Server VSS Writer

This is from a full SQL Server 2012 Developer Edition install on my personal dev box. It brings a 3rd-generation i7 (3770K, non-OC'ed) with 16GB of RAM to its knees upon startup. The other performance killer is Steam. Ever since the Linux version came out, the Windows version insists on running an "installer" every time it starts up. A usable desktop from boot-up can take a good 2-3 minutes on this box, which is just sorta wrong.

You've got virtualization (1)

Horshu (2754893) | about 8 months ago | (#46008575)

So just use a virtual machine to set all of this up. Set up a VHD in Hyper-V, install Win8.1 and all of your tools to it, and it affects no one else. Alternatively, you may be able to do cloud-based development, since MS has an internet version of VS as well as a cloud DB and storage, but then you may lose the Android stuff.

ESRI development (0)

Anonymous Coward | about 8 months ago | (#46008581)

My advice is to remind your new employer that ESRI recommend using the most powerful Xeon based developer workstations in their system design whitepaper. If you are developing server based code your dev and test environments should match the server operating systems, which you'll need licenses for. Last time I fully licenced ArcGIS Server Enterprise it ran to the tens of thousands per environment. You may need to write a business case for all this but your employer may thank you for it in the long run. The ESRI vendor may be willing to help if they think there is a chance of opportunity in it for them. Good luck!

so I can do all this in my spare time (1)

kcitren (72383) | about 8 months ago | (#46008611)

Stop right there. If this is what your company is going to pay you to do, let them pay you to do it. Also, let them provide the tools you need to do the work. A powerful laptop can handle what you're trying to do.

Re:so I can do all this in my spare time (0)

Anonymous Coward | about 8 months ago | (#46008879)

RTFS. They will need things down the road. They're not paying anyone for it right now. Submitter wants to get his skills up to speed now so he can be the guy that gets paid for it when it's needed.

Virtual Machine (0)

Anonymous Coward | about 8 months ago | (#46008613)

Spin up a Virtual Machine. It is already built into 8.1, you just have to enable it. When you are not using it, shut it down. It won't impact anyone else or your other projects if you turn it off. Also by putting it into a VM, you can protect it from everyone else in your family. If you are just getting started with this stuff, I would not expect the built time to be that long. So it only has to be running when you are developing.

If you don't want to use Hyper-V, there are other options out there. I think you are looking directly at this option, you just have to fire it up. If you run low on disk space, then get a second drive. If you are tight on ram, then get more ram. It really does give you a lot of options.

Subsidizing your employer (1)

radarskiy (2874255) | about 8 months ago | (#46008627)

"I need to setup a development environment on my home desktop"

No.

If you are doing it for work then your employer supplies the equipment. Maybe if it is convenient for *you* then some might add something for their personal equipment, e.g. I get my work calendar on my personal phone since it is more convenient for me to see it there than on my employer-supplied computer and the overhead is low. Since you have demonstrated how inconvenient it is to do it on your own equipment, you've proven that it is incorrect to use your own equipment.

Re:Subsidizing your employer (1)

Billly Gates (198444) | about 8 months ago | (#46008681)

If he is not specifically working at home but needs to learn it, well good luck with that.

Just put the money down and tell yourself it is an important investment. A now n hardware accelerated dual core can't run the several VMs required. But the return means steady employment.

Re:Subsidizing your employer (0)

Anonymous Coward | about 8 months ago | (#46009037)

Read the summary. His employer will need these things "down the road". This guy wants to develop his skills to be able to do those things once they're needed, presumably so he can be the guy getting paid to do them instead of someone else. He's not doing this for his employer (yet). He's doing it to improve his own skills and bargaining power.

Don't get too complicated .... (1)

steppin_razor_LA (236684) | about 8 months ago | (#46008643)

Install Visual Studio.. it has its own built in web server. You can use SQL express. If you are really worried about system resources, manually start/stop SQL server only when you are developing

Cheaping out. (3, Insightful)

westlake (615356) | about 8 months ago | (#46008659)

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.

Think long and hard about this (1)

redmid17 (1217076) | about 8 months ago | (#46008695)

Like some of the other commenters, I would really, really think about it before you went down that road. Doing stuff for free is rarely a good idea long term, even if it's "simple" like being the family tech support. If you do go down that path, troll around on craigslist for a cheap C2D SFF desktop. I don't know where you are, but you can find them for around $50 here in Chicago. Maybe throw in a larger HD or some more RAM but that is plenty to run all the development stuff you want. You're not going to get the fastest build times, but it's plenty powerful enough to do what you need. It's also going to be small enough to stick next to or on top of your current workstation. Getting a KVM is probably a good idea as well.

why? (1)

BlackHawk-666 (560896) | about 8 months ago | (#46008767)

If your current hardware is so crap that it can't run IIS and a SQL instance on idle without causing your recordings to buffer under run, then you really should throw that old Pentium II out and buy a current gen PC.

You're not going to be doing a rebuild all on 1,000,000s of lines of code while working with your DAW, so it's not even an issue.

As for background processes...I have 158 of them running right now and the only two who are above 0% utilisation are the system idle process and IAStorDataMgrSvc, which is probably running some long stupid windows task just at this time. Neither SQL nor IIS ever appear above 0% unless I am actually requesting web pages off them that have database queries at the time.

Finally, the sort of web development that is done with PHP has zero compile time and anything done with Java should happen so fast you barely even notice it.

I'm currently working on a project using the CryDev FreeSDK, which means I am working with about 300,000 lines of code, a huge amount of which are header files. A full compile of all of that takes about 10 minutes. Incremental compiles are done in seconds.

It's a storm in a tea cup, just get the tools and try it out before you worry about virtualisation or any extra crap you don't need. If it doesn't work you can uninstall them quickly enough. I typically run Photoshop, Mudbox, 3DS Max, World machine, CryFreeSDK Editor, CryFreeSDK runtime (1+), VS 2012 (up to 3 copies at once), and a host of other software - all without skipping a beat.

Just make sure your machine has 8GB+ RAM and fast hard drives. Any decent developer machine is going to handle far far more work without dropping frames than you are expecting.

As for users, make sure they don't have admin access. They shouldn't be able to do anything at all to your work if you don't give them admin on the machine.

PC (1)

marc252 (658303) | about 8 months ago | (#46008825)

doesn't PC stand for Personal Computer? I wonder why.

You lose (0)

Anonymous Coward | about 8 months ago | (#46008853)

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

You want to do technical shit and you don't know your technical shit.

Don't pass go, don't collect shit.

Qualifications (0)

Anonymous Coward | about 8 months ago | (#46008899)

If you can't figure this out on your own perhaps you have no business developing software.

Take up knitting instead ... (0)

Anonymous Coward | about 8 months ago | (#46009013)

Your thinking is not adequate for programming. You are too confused.

Buy a rack server (0)

Anonymous Coward | about 8 months ago | (#46009041)

Running all that on a desktop PC with loads of other stuff already installed will be a pemanent trip to purgatory.

Having said that, if you even manage to get even half of what you are proposing running on a Windows 8.1 machine, you will have a lucrative new career as a consultant available to you. The lack of anything when googling should have told you that.

However, your wishlist is such a bizarre alphabet soup of available tech that I'm not sure that there is a clear goal here. And if your employer isn't willing to pay for you to learn and implement this, get specialised and properly experienced in a much smaller subset of this stuff and find a new employer.

Buy some RAM. There, you're done (1)

msobkow (48369) | about 8 months ago | (#46009163)

When idle and not receiving requests, tools like web servers and databases consume virtually no CPU on a Windows box.

You can even game on a box that's running a PHP server and a database engine or few, provided you have enough RAM to prevent thrashing and swapping.

You don't need to futz around with virtual environments or any of the rest of it. After the installers place their icons on all the accounts, just remove them from the desktops where you don't need those tools. Or ignore the extra icons -- they won't hurt anything just sitting there.

My Windows boxen have been multi-purpose for years, including audio encoding, video editing/transcoding, gaming, and software development. I've never had a problem, provided they had enough RAM.

Isn't this what multiple users are for? (1)

hawguy (1600213) | about 8 months ago | (#46009179)

Isn't this type of thing exactly why modern operating systems have multiple users? You install as much software for your user as you want to, and when your wife logs on with her user account to do music editing or whatever, she doesn't see any of your development tools at all.

I run a LAMP environment + PostgreSQL + Java (Eclipse, Tomcat, Android JDK, etc) on a 6 year old desktop computer with 5GB of RAM and it runs just fine - sure, there are several backup services running (databases, tomcat, webservers), but they run in the background and don't keep me from getting work done.

When my wife and I were sharing the same desktop computer, I ran a second X server, so she could hit a hotkey to switch over to her desktop without affecting anything on my desktop. Now she uses a Tablet for everything she used to do on the desktop, so I'm the only user.

virtualize (1)

smash (1351) | about 8 months ago | (#46009235)

It's a no brainer. You'll want a development environment, and ideally a replica of the environment your app will be running on in production. You'll want to keep these environments clean of other crap that is not related to avoid introducing dependencies on stuff not in your production environment and to simplify troubleshooting.

VMs also give you all the benefits of being able to roll back to prior snapshots to help develop/test an upgrade procedure for new versions of your software.

What are the specs on the mini-pc (0)

Anonymous Coward | about 8 months ago | (#46009271)

To the OP what are the specs on the mini-pc as that might solve your issues.

Visual Studio Online (1)

Christopher_G_Lewis (260977) | about 8 months ago | (#46009311)

I'd start with Visual Studio Online (http://www.visualstudio.com/products/visual-studio-online-overview-vs) - five user free basic version. Get your coding skills up to date, then work on a new rig.

MISSION IMPOSSIBLE (0)

Anonymous Coward | about 8 months ago | (#46009339)

GIS?
ESRI?
PHP?
Shared Workstation[?] ? A Win 8.1???? IS NOT A WORKSTATION!!!!!

Likely not a real post.

But if I were and I would never be bought into such a situation as this, I would sponge the "Company" for at least 3 months (farming my cv out) of salary and claim an injury then bail, on a junket to a convention. But hay this is not a real post so I can .. indulge.

Ha ha

crap shared environment (0)

Anonymous Coward | about 8 months ago | (#46009351)

M$ is crap for a shared environment, you are in for some pain no matter how you slice it.

go virtual on a dedicated box (2)

D1G1T (1136467) | about 8 months ago | (#46009431)

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 [virtuallyghetto.com] 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.

VMs... (0)

Anonymous Coward | about 8 months ago | (#46009559)

Every project should bare it's own machine.. or better yet, VM.

GIS Project (1)

hackus (159037) | about 8 months ago | (#46009655)

Why in this day and age, would you pay or even BOTHER with those toolsets when you can almost certainly design and build such a system for far less, and better technology (Eclipse, PostGRES, LINUX, ANDROID) using far less hardware?

The GIS extensions in Java and PostGRES are fab.

You can check that out at:

http://www.postgresql.org/about/news/1387/ [postgresql.org]

-Hackus

Windows 8.1? (0)

Anonymous Coward | about 8 months ago | (#46009681)

I'm kinda disappointed. I was under the impression that businesses were avoiding Win 8.1 out of disgust. The last thing we need is to give creditability to Microsoft's current design trend.

WTF is this garbage? (0)

Anonymous Coward | about 8 months ago | (#46009725)

If this guy doesn't know how to use a computer, how is he a developer?

Re:WTF is this garbage? (1)

Zmobie (2478450) | about 8 months ago | (#46010023)

You would be very surprised with that. I've actually known 2 or 3 software devs that had very minimal IT related skills, but they were fairly competent developers (wrote better code than some of the jackasses that thought they were amazing because they spout off how to do cisco console commands...).

Re:WTF is this garbage? (0)

Anonymous Coward | about 8 months ago | (#46010025)

About half of the developpers are in the same situations...

Dual boot OS, not virtualization... (1)

bayankaran (446245) | about 8 months ago | (#46009739)

I share the machine (Win 8.1, 2.7 dual core pentium something or other...

Do not go the Virtualbox/virtual OS path. Even if you have a good amount of RAM, your machine is not fast enough to seamlessly run two operating systems side by side, and use it for serious development.
Partition the HDD and install the OS in the new partition, and install the apps/servers/IDEs.
Do you have an SSD? if not buy a 64 GB cheap SSD...its worth the upgrade and install the OS/apps/IDE on the SSD.

Huh? Idle Services take zero resources (1)

Blakey Rat (99501) | about 8 months ago | (#46009853)

If SQL Server isn't being used (no connections), the OS'll just swap it out and there's no wastage. Ditto all the other things you mentioned. If you're going to be writing software, maybe you should learn the old adage about premature optimization.

My advice is:
1) Install everything you need
2) See if a problem actually occurs
3) It won't so stop worrying

used laptop (0)

Anonymous Coward | about 8 months ago | (#46009869)

A rather decent used laptop can be had off of eBay for under $200. Separate work and personal machines is a good way to go. Also, ask your accountant if such an expense could be tax deductible, since it is related to job education.

Too stupid to be a developer (0)

Anonymous Coward | about 8 months ago | (#46009953)

If you have to ask a question like this, you are too stupid to think on your own and to write or develop any kind of a system.

New Hard Drive and Install (1)

Zmobie (2478450) | about 8 months ago | (#46010017)

Assuming the parameters here are that you don't want to buy a whole new PC outright, I recommend getting another hard drive and installing a fresh windows copy to it. Mask it from the other installation entirely so no one messes with it, and if someone asks just tell them its for work and take reasonable security measures (if you can, disk level encryption would probably be good here with your standard account passwords etc.).

Considering the specs of the PC you probably don't want to try and run VMs for a lot of application development because it is much too resource intensive and if you can help it, you want all resources devoted to the actual development environment (I only run VMs if we need a standard environment for an entire team to test against). Plus it can be a pain in the ass in general running everything in a VM.

The reason I would say you want a split install, in my experience, you will run a development machine IN TO THE GROUND doing heavy .NET and SQL development. My work laptop has the most jacked up OS settings now because I have to do a number of things in order to test new code correctly. This also has the added benefit of now the other users are not affected by the weird settings you WILL have to configure for development, and they won't inadvertently change some of your settings and not remember what they did (screwing up your known good state). It does make it a little more tedious have to go through a boot menu every time you start up, but worth it considering you have to share the machine and this is making money for you. Soon as you can get the money, I would invest in a new machine entirely and just port your hard drive into that (there are some weird windows commands that let you do this without having to do a clean install, I've done it a couple of times, you should be able to Google it).

Beyond that, good luck, .NET isn't too bad to catch up on and can actually be surprisingly nice for business level application development.

Re:New Hard Drive and Install (1)

Zmobie (2478450) | about 8 months ago | (#46010047)

As a note here too, to save yourself some money you can probably use the same windows license to do the other install (assuming it isn't OEM) and get around a lot of the validation problems. Since the two installations physically can't run at the same time you should never have to worry about validation issues and I believe you are still within the end users rights since you are using the license on the same machine. Now when you get money and upgrade your set up to be another computer, you will need to update the license from a legal stand point at least.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?