While I love VS Code and VS for Mac, I often found myself missing the Visual Studio while working on my Mac. Up until now, I’ve solved that problem by remoting into my work machine whenever I needed to use Visual Studio. My Windows machine belongs to my employer and I needed my own segregated Windows environment for personal projects. I knew that I could utilize virtualization, but the problem was that although my Macbook has decent RAM and CPU specs, I didn’t count with a lot of room on my internal SSD. I also did not have a desire to spend cash on a new machine or to own new equipment (team minimalist).
Instead of dropping a wad of cash on a new machine, I decided to make the business investment into Parallels Mac and a Sandisk Extreme SSD which came in under 200 bucks.
Using Parallels Desktop for Mac’s Coherence Feature, I can enjoy the native feel of my Virtual Machine on my macOS desktop. Also, because I’m running a modern 64-bit processor with 16GB RAM, application performance so far seems reliable.
Now I can segregate between my work and personal projects!
Ever tried to uninstall SQL Server from your machine? Ouch. Now that I have this capability, I can rapidly deploy a new development environment from the base image to try out new things without having to worry about fucking things up.
The base image I have configured currently comes with:
- Visual Studio (ReSharper)
- Node/Angular Framework and dependencies
- Babun/Hyper consoles
- Google Chrome
- Git and GitHub Desktop
- Azure Storage Explorer
I’ll modify this base image as I go along.
In this solution, if my host Macbook were to die or become obsolete, I can simply transfer my virtual machines when I replace my Macbook.
I can back up the VM on the same SSD I already own.
It’s going to be interesting to see if this pays off, but I think it’s the solution I was looking for. I really like the idea of keeping my development environments as commodities that I can transfer in my pocket, like Bitcoin. I think more developers could look at Virtualization to make our own personal workflows better as we do with application workflows with tools like Docker.