Monday, March 25, 2013

My ...adequate Development System Wish List

Currently I am wrestling with my system configuration to try to get it to do all the different dev tasks that I need.

Mostly I build desktop apps in various toolsets for various platforms. I target Win XP, Vista, Win 7 and MacOSX with a tiny bit on Debian.  I've been asked to look at Windows Phone 7.5 and 8 for a project. I build some Office apps for MS Office and maintain a bunch of add-ins.  I also support a scatter of fairly simple websites and web "glue" scripts to keep various projects running.

So I'm using VS2010 for the Phone dev, VS2012 for the Desktop dev,  VBA in Office for Excel and Access Dev. DreamWeaver for Web dev, Matlab, Eprime and Python for various experimental platforms. I have a natvie OSX codebase pending and something in PowerBasic that I need to convert. Each of these has its own versions of libraries and SDK's that support whatever horror platform or library dependencies its currently carrying.

Just trying to keep all this stuff straight in my head, let alone up to date, robust and vagley tested is a total joke. If I counted strictly, I currently have four different development boxes in various states of use.  Chances are I'm about to inherit a 5th (Native MacOSX) very soon.

This brings me to my current pain point.  I can't touch Windows Phone 8 without Windows 8 due to the restriction on installing the Windows Phone 8 SDK on anything except Windows 8.

The my main base system is an Optiplex 990 with (soon 12GB) of RAM with 4 monitors.

Base install is Windows 7 (not able to be changed)

On top of that is Visual Studio 2010 Ultimate and Visual Stuido 2012 Premium with a bunch of SDK's but specifically Windows Phone SDK 7.8. Which gives me fair coverage over the various toolsets and platforms.

I want to keep all my normal dev tools and working tools in the base image, simply because thats where I go to get most of the "other" work done. (File munging, multi-media work, administration, databases etc.)

The only physcial requirement is the ability to go into the labs and physically plug into some of  the systems that are not mobile. (Treadmill via Serial cable, Motion capture system via LAN) Everything else I can get to via sneakernet.

I have recently started to look at multiple virtual box images for development simply because putting all the tools into the same image is starting to creak at the seams.

Virtual Box Development Images

Windows 7 with Visual Studio 2012 + Desktop SDK's and other toolchains.
This will allow me to develop a single image for most of the desktop work. 

Windows 7 with Visual Studio 2012 + Web frameworks and testing add-ins.
Keep all the web stuff seperate from the Desktop tools as the add-ins tend to drag eachother down.

Windows 8 with Visual Studio 2012 + Windows Phone 8 SDK.
This will be my "Windows Phone" image. And allow me to target WP7.5, 7.8 and 8.

Hackintosh + XCode and Matlab.
This will allow me to develop for OSX and specifically the Matlab codebases that I need to maintain.

Ubuntu for some Cross Platform work.  Needs a GCC compiler chain and an IDE (YTBD)


Virtual Box Testing Images

Windows XP SP3 with current patches. This is my "Lab Image" machine.  Mainly Eprime and Desktop Experiments testing.

Windows 7 with Office 2010 + Current Patches for Excel, Database and Deployment Testing.

Windows 8 for future Win 8 desktop app, and Deployment Testing.

Hackintosh + current patches? With Matlab?

Ubuntu and Debian for testing the MoCap Interface software.



This does not solve my need to move to some of the equipment, so I will continue to need a physical laptop that I can run a debugger on.  Currently this is WinXP with Visual Stuido 2010; which is showing its age and need an update.

2 of the other dev machines are various configurations of WinXP with VS2008 or VS2010.

My Mac solution has been to borrow a lab machine when I need it, but that not tenable going forward.


Thinking thinking... I need more coffee.


EDIT:

Ok,
* Adding 8G more RAM to my main box to deal with VS choaking and help the VM's run a little easier.
* Turning the other physical machines into VM's simply to deal with the variability in hardware across my fleet.
* Trying to avoid the whole "hackintosh" approch simply because it introduces more unknowns into the process.  
* Scrounged for Mac hardware but only came up with PowerPC based systems stuck on OSX 10.5 or older so thats a fail.  (I do have a PowerPC specific codebase that has to be dragged into this century so that machine will help with that project....)
* Still need a worthwhile laptop with a serial port that I can walk to various systems.  This will need to run VS2010 more than likely.  I have some recent Dells with serial ports so thats probably solved. Just have to build one and get it all tuned up.

EDIT:

AHHHHHHHHHH!  Totally F$%$@G snookered again.  Got everything going in my carefully planned Virtualisation Solution and then got this chunk of golden S@#t on my monitor.

http://stackoverflow.com/questions/13166573/windows-phone-8-sdk-this-computer-does-not-support-hardware-virtualization-wh

So, no matter what, I need Win8 Pro running on bare metal somewhere to run the phone dev tools.  Do I seriously want to rebuild my main box to win8?  I do not think F@$##(ing so.  What are my options?  Sweet F@#$# all.

Dual booting is looking like a painful and retarded possible solution. I do not want to be dropping out of my main workspace, rebooting to another boot image, running some tools and finding that I need to get back to my other image to perform a step or generate a resource... talk about interupting the flow.  Especially as I have just finished bedding everything down and getting my head and heart set on doing it all with win7 as my base os.  F#$## F#@#$ F#$@#@#$@#$@#$@#$@#!

*More cathartic ranting here*
WTF! After the hours of building VM images, running infinite updates and service packs. Figuring out how to do a base VHD + difference disks that will not self destruct. Getting all the right SDK's on the various images. Deriving the testing images and planning how to do their difference disks. And the endless fucking licensing roundabout.... and logging into accounts with stupid secure passwords and the spew of packs, tools and extra shit that the SDK suit's install that spray all over the place.

So my option, it would seem is:

BareMetal + Optiplex 990 12GB 1.5T i7 etc.
+ Win8 Pro 64bit Dual boot with
+ Win7 Pro 64bit.
++ Virtual Box running on both pointed at a shared partition containing the VM's with the dev and testing images.

Use Win7 for the general work, Multimedia and Animation projects.  Boot a VM for all the unusual dev works and deployment testing.  Dual boot win8 for win8 apps and win phone 7,7.5 and 8.

Still don't have a good solution for the Mac dev and testing as I have quite chasing the Hackintosh rout. But I have a line on a Macbook Pro that is about to be replaced that might solve that problem finally. SciLab is just not cutting it for my MatLab work. 

Fuck me.  What a horrible snarl of shit. It's enough to make me go and hack together a supercomputer from old gamboy's and gen 1 iPods just for relaxation.

I had someone ask me if I could write custom apps for a samsung tv yesterday... If anyone so much as mentions iPad or Android development I am going to fucking snap...


EDIT:

Just ran across Vagrant.

http://www.vagrantup.com/

Looks like an interesting solution for some of the problems I have (especially testing boxes).  I was solving this problem using VHD's and discarding the changes after the test was complete.

No comments:

Post a Comment