Login / Register  0 items | $0.00 NewWhat is KVR? Submit News Advertise
User avatar
Audiority
KVRian
 
552 posts since 15 Nov, 2005, from Italy

Postby Audiority; Wed Mar 08, 2017 3:53 am Disaster recovery and long term development strategy

Hi guys,
yesterday one of my worst nightmares came true when my main Mac's SSD drive suddenly died. Lucky for me, I have a backup plus a very recent git snapshot of my sources, so I only lost a couple of days of work.

Problem is... I have to make a choice between a better Mac or switching to Windows as main development computer. I used to be an IT Manager in my previous life, so I'm experienced with both Windows, Mac and Linux. Personally, I use Mac since the first big all white iMacs and always used them for my audio work and, lately, for development. I love XCode and how quick is to debug and profile the code in there while, so far, I found Visual Studio frustrating to use. If I have to get another Mac, it'll be a 2012 Mac Pro since the new one are basically luxury furniture and if anything goes wrong I can't simply replace a bank of RAM or a faulty disk drive. It'll be an already 5 years old machine equipped with a fairly old technology... USB 2.0 and so on.

Switching to Windows is something I'm thinking about. Windows 10 Pro looks stable enough, although thinking about taking care once again of drivers, latency and all those quirks makes my spine chill in a very bad way.

At the moment, I usually develop on Mac first and when the product is on RC state, I switch on Windows to complete it. I'm sure there is a better way to handle that and create a better development strategy and a far better disaster recovery plan.

I would like to know your experience working with either Mac or Windows for development.. this will help me understand if I'm missing something and take the best decision to work keeping me focused on coding rather than technical issues.

Thank you very much guys!
Luca
Progsounds | Audiority | Epic SoundLab
Need a Kontakt scripter? Contact me.
User avatar
#rob
KVRist
 
348 posts since 20 Aug, 2013

Postby #rob; Wed Mar 08, 2017 4:04 am Re: Disaster recovery and long term development strategy

Not to make any kind of statement by posting this, but you can easily swap the RAM and PCIe SSDs of a 2013 "trashcan" Mac Pro.
Cheers,
Rob
u-he | Support | FAQ | Patch Library
User avatar
Urs
u-he
 
20916 posts since 7 Aug, 2002, from Berlin

Postby Urs; Wed Mar 08, 2017 4:16 am Re: Disaster recovery and long term development strategy

Sorry to hear about your SSD!

If you want to continue Mac/Win development, I'd stick to a Mac with Bootcamp. That said, can't you just replace the SSD?

If you have like an old computer with harddrive and stuff in a closet, why don't you get it out, install GIT and Jenkins and make it your main repository and build server. If you then also have an old Windows machine somewhere in the attic (doesn't everyone?), install Jenkins as well and let it build your Win versions. That is, let both Jenkinses check your main repository for new commits and then build all your projects. It may take a day to build it all, but this way you always know that whatever you committed is still compatible with all your products on all your platforms.

Hence, alternatively, you could replace the SSD and make it your main repository and build slave and buy a new Windows machine for development. Then you get both as well.
User avatar
Guillaume Piolat
KVRist
 
103 posts since 21 Sep, 2015, from Grenoble

Postby Guillaume Piolat; Wed Mar 08, 2017 4:34 am Re: Disaster recovery and long term development strategy

Audiority wrote:At the moment, I usually develop on Mac first and when the product is on RC state, I switch on Windows to complete it.


I feel the complete reverse way, I'm forced to use the Mac and prefer to develop on Windows. Long-time Windows user though. I hear from Linux users that developing for Windows is a nightmare in comparison, probably years of familiarity amount to that much.
I don't really understand why you'd prefer Xcode over Visual Studio tbh. Xcode looks like a cruel joke, had to work specifically to make sure I don't have to use it.
User avatar
Audiority
KVRian
 
552 posts since 15 Nov, 2005, from Italy

Postby Audiority; Wed Mar 08, 2017 5:40 am Re: Disaster recovery and long term development strategy

Thanks guys!

@rob + Urs: great news that I can actually replace something in the new Mac Pro. I wasn't sure and that makes my decision easier to make.
I could replace the broken SSD drive, but it'll be just a "cosmetic patch". I feel now it's time to build something more reliable instead of keep going this way using a MBP + a Mini or iMac. I'll check Jenkins and think about building a server. I know it could be too much if you are a single developer and not a team, but planning and managing servers is something I can totally do and plan a better backup and disaster recovery solution.

@Guillaume:
That's exactly how I feel, but in the opposite way! :D As example.. to me was really fast and easy to find how to automatically run a DAW after compiling on XCode.. the debugger automatically attaching and giving me all I need fast and easy. On VS2015 everything was painful and every time I have to debug or profile it takes a HUGE amount of time. It's frustrating! I know that I'm most likely doing something wrong there.. but still.
Progsounds | Audiority | Epic SoundLab
Need a Kontakt scripter? Contact me.
stratum
KVRian
 
1186 posts since 29 May, 2012

Postby stratum; Wed Mar 08, 2017 6:01 am Re: Disaster recovery and long term development strategy

great news that I can actually replace something in the new Mac Pro.


I have even replaced the cpus on an ancient one (1.1 version). I'm not sure I would mess around the newer ones or even buy one. During the time I had bought the 1.1, FEDs printing press was running like crazy and even then a friend had joked, why you didn't buy a bigger car instead of buying this one? :lol:
~stratum~
User avatar
nonnaci
KVRist
 
173 posts since 7 Feb, 2017

Postby nonnaci; Wed Mar 08, 2017 8:22 am Re: Disaster recovery and long term development strategy

I try to write platform agnostic code and leverage cross-platform APIs for other platforms. That said, the difference in Windows/Mac OS development for anything mid-large scale is the IDE (Visual Studio vs Xcode). VS2015 is fine so long as you familiarize yourself with the debugger, profiler, and configuration settings; the integration with git for version control is nice and intellisense is definitely useful for navigating large codebases. Performance wise, get lots of ram (16 GB worth) although I don't know if the new VS2017 is any better (reports says 50% faster startup).
BertKoor
KVRAF
 
9867 posts since 8 Mar, 2005, from Utrecht, Holland

Postby BertKoor; Thu Mar 09, 2017 12:39 am Re: Disaster recovery and long term development strategy

Audiority wrote:I'll check Jenkins and think about building a server. I know it could be too much if you are a single developer and not a team, but planning and managing servers is something I can totally do and plan a better backup and disaster recovery solution.
A server is just another computer. The Cloud is just someone else's computer. If this is about risk mitigation, expanding the number of computers involved makes that more complex since the chances one of them fails increases. However the chance all of them fail at the same time ofcourse is lower.

You already had the most important part of risk mitigation under control: you had a (relatively) recent backup of your source code repo! You could maybe use a private GitHub repo: then you don't ever have to make backups of the source repo again.

About Jenkins: you don't need it on a seperate server. It can run anywhere, even on your own dev machine or within a Docker container. But the nice thing is you could take any written-off PC, install a Linux distro on that and promote it to be your build server. Jenkins can have 'agents' that run on different platforms (Windows & Mac) and you probably need that to run eg msbuild.exe which I think is not possible on Linux.

But Jenkins is just a build tool/platform. While I do think it's a good step forward in professionalising your workflow, I personally don't think it solves problems you're actually struggling with.
We are the KVR collective. Resistance is futile. You will be assimilated. Image
My MusicCalc is back online!!
User avatar
Audiority
KVRian
 
552 posts since 15 Nov, 2005, from Italy

Postby Audiority; Thu Mar 09, 2017 8:31 am Re: Disaster recovery and long term development strategy

Thanks guys. Yes, that's true. The problem is another and it's related to my workflow. In the meanwhile I took the first step and got a new 6 core Mac Pro and I wanna start fresh new. When I started making plugins, about 2 years ago, it was a test and honestly I weren't sure about their success ratio considering my audience. Now coding takes almost all of my working time and I need to plan a better workflow for that and maybe that's the right time.

Thanks again guys!
Luca
Progsounds | Audiority | Epic SoundLab
Need a Kontakt scripter? Contact me.
User avatar
Zaphod (giancarlo)
KVRAF
 
2280 posts since 23 Jun, 2006

Postby Zaphod (giancarlo); Thu Mar 09, 2017 11:53 am Re: Disaster recovery and long term development strategy

We switched to vm several years ago, around 2009. My main computer has been a vm since 2013. All company employees today are on vms. Even our backend servers are running in vm.

Basically I use a macbook pro running both a Windows and a mac osx machine in fusion. Yes I have a bootcamp running all possible plugins existing (we received all nfr possible for testing purposes), but even ilok based software is running in vm nowdays! I never turn on bootcamp any more. Never a crash.

So mac or Windows doesn't matter any more.
Backup is so easy. My computer is a supersmall t1/t3 Samsung harddrive, I keep it in my pockets even during flights
User avatar
syntonica
KVRist
 
263 posts since 24 Sep, 2014, from Specific Northwest

Postby syntonica; Sun Mar 12, 2017 11:40 pm Re: Disaster recovery and long term development strategy

Zaphod (giancarlo) wrote:Basically I use a macbook pro running both a Windows and a mac osx machine in fusion.


A couple of quick, off-topic questions, if I may.

You run BOTH macOS and Windows as VMs?

Will Mavericks on up install as virtual? I remember having to do some fancy footwork for Snow Leopard to install on VirtualBox and the response was awful! So slow and jittery.

And which version of Windows do you recommend? I guess the current choices are Home and Pro. If the differences are still similar, I wouldn't be doing any fancy networking at all and it would probably only connect to the net for updates, so Home? I need to start developing in the latest Visual Studio. (Starting with zero knowledge of Windows structure or APIs...)

Finally, any reason Fusion is better than VirtualBox? Or Parallels?

TIA!
User avatar
Zaphod (giancarlo)
KVRAF
 
2280 posts since 23 Jun, 2006

Postby Zaphod (giancarlo); Mon Mar 13, 2017 12:09 pm Re: Disaster recovery and long term development strategy

Yes we have a working copy as snapshot of all possible mac osx os, even latest ones. We are even betatesting the interaction of our software also with cracked one for stability purposes (we have also the same software as original one, I think we have nfr from around 80% of software, in the past we have even built vm for testing virus and malaware)
Stability on virtualbox is awful, I confirm.
Vmware is incredibly solid and reliable, especially for running vm with protools and logic (beta version or commercial). I tried also parallel, but the issue is about running the vm on Windows.
About windows: I have a license for home, so I'm running home. I own Windows xp, Vista, 7, 8 and 10. My main vm is based on 8 home (not 8.1 where more issues about admin permissions arise) where I disabled the metro interface. It is a bit better than 10, even if it loads slower. I have more issues in Windows 10 running more external displays when the principal one is a retina inside the vm. Normally I use two external displays from a mac book pro. It works a bit worse.


Last consideration: you need a licensed mac osx os for running several tools. Serial number should match with your hardware machine. This is the reason why I run vm but we own several mac books really. For the same reason I prefer to use a Mac osx as host. In my opinion vmware running mac osx is less stable than fusion vmware running mac osx.
User avatar
aMUSEd
KVRAF
 
27673 posts since 14 Sep, 2002, from In teh net

Postby aMUSEd; Mon Mar 13, 2017 1:28 pm Re: Disaster recovery and long term development strategy

What is 'Jenkins'?
resynthesis
KVRist
 
245 posts since 17 Sep, 2007, from Planet Thanet

Postby resynthesis; Mon Mar 13, 2017 1:33 pm Re: Disaster recovery and long term development strategy

aMUSEd wrote:What is 'Jenkins'?


It lets you automate your build and installation processes

https://jenkins.io/
User avatar
syntonica
KVRist
 
263 posts since 24 Sep, 2014, from Specific Northwest

Postby syntonica; Mon Mar 13, 2017 2:07 pm Re: Disaster recovery and long term development strategy

Zaphod (giancarlo) wrote:... lots of good stuff...


Thanks! Looks like I'll definitely need to upgrade my internal drive to hold all those VMs. Almost a dozen! :o
Next

Moderator: Moderators (Main)

Return to DSP and Plug-in Development