The last few weeks has been busy but not with hardware, the STM8, STM32 and the Netduino have all been idle. It has however been an interesting month as I have been moving from PC development on to a Mac.
The Dark Side Beckons
Every few year I upgrade the home hardware set up. Slowly over the years these upgrades have become more costly to the point where light-weight portable PCs have approached the cost of equivalent Apple products. Add to this the fact that I also do some iPhone/iPad development and need an Apple machine the cost difference starts to become even smaller, in fact they nearly disappear.
This last few months has seen the time for the periodic renewal of the home IT system. Given the cost differences becoming smaller I had to consider Apple as a viable option.
So what do I really need?
- Visual Studio
- iPhone/iPad/Mac development
- Netduino development
- STM8S development
- STM32 development
- ESP8266 development
Some of the above require access to Windows, certainly Visual Studio requires Windows, some have Mac options available (STM32 for example), some have only Windows solutions. There are several options for running Windows on a Mac but no supported ways of running OSX on a PC.
Windows can run on a Mac natively or in a virtual machine. Several options are available, BootCamp for a native implementation and VirtualBox, Parallels offer a virtualised option. Parallels is attractive as it offers coherence mode. This allows a Windows application to appear on the Mac desktop in a Window on the Mac desktop.
The only major concern now is compatibility, hardware compatibility. Some of the tools are only really available for Windows, alright either easily available for Windows or only available for Windows.
Let’s start with Visual Studio and Netduino. The recent release of Visual Code does not really make up for the wealth of tools available within Visual Studio. Netduino is a C# development environment and so this is really restricted to Visual Studio. The good news is this works well under Parallels.
The IAR development environment for the STM8S is currently only available for Windows.
Development environments for STM32 are available for both Windows and Mac. VisualGDB provides a convenient method of programming the STM32 under Windows using Visual Studio. There are several tutorials available discussing the use of Eclipse to work with the STM32, so which works and more importantly, which is more convenient?
ESP8266 can be programmed using the Arduino IDE. The board can be added using the board manager. This means that the board can be programmed from a Windows or Mac environment.
The Xamarin tools for Visual Studio is an area I wish to research and use in the future. These tools require both Windows and OSX systems.
Initial investigation indicates that using a Mac may be an option.
Reviewing the criteria above it is obvious that Windows needs to be installed on the Mac either natively, dual booting or virtualised.
The native installation would offer some benefits like having the entire machine resources available but this would make Xamarin development difficult as Visual Studio needs access to a Mac as a build server.
The option finally selected was Parallels as this allows Windows to run either as a virtualised machine in a window or to allow Windows applications to run as individually as windows on the OSX desktop.
New Software Challenges
There have certainly been some new software challenges. Moving from SQL Server to MySQL has been interesting to say the least.
Notepad++ is one tool which has been missed but there are Mac alternatives (TextWrangler and Sublime spring to mind).
Macs don’t get viruses do they!!! Not falling for that one. Luckily my ISP (BT) provides AV free of charge using McAfee’s products. I thought this would be an issue but no, there is an OSX version of McAfee’s tools available and best of all it’s “free” to me.
Backups have been made challenging as the Mac can currently read NTFS file systems but cannot write to them. All backups should be encrypted in case they are lost. Alright, only some data is sensitive, bank statements, etc. should certainly be hidden away from view. You could argue that the music collection is not really sensitive but as this is all tied up with iTunes then encryption is needed.
So how did the experience go? Well so far everything seems to have gone well. All of the necessary tools are installed and running as expected.
An early decision to use OSX native tools where possible in preference to Windows tools has made life interesting at times. The STM32 development environment has been challenging to set up on the Mac. The Windows option using VisualGDB seems to be the best option so far.
The Mac chosen was the MacBook Pro. There has been a major advantage using this machine over a laptop, fan noise. The old laptop was noisy, the fans started as soon as any real load was placed on the machine. The MacBook is silent by comparison, in fact no, the new MacBook is silent most of the time. The few times I have heard the fans start have usually coincided with Windows running.
It has been an interesting few weeks, well nearly six weeks but the system is up and running. Next stop, some more hardware development.