Picking my next computer. I think it is time to divorce from Apple.

For the last 17 years, my main computer was some form of an Apple OSX machine.

Since Jobs passed on, Apple has made a shift to reject the needs of high end professional IT users and focused their efforts on consumer grade junk. The shift is even visible in the operating system where their main new features are things like Siri, and a new music app. Thus the windows machines and alternatives are starting to become attractive.

My last machine has been a first generation Macbook Pro 15 Retina. While it is a great machine, it is stating to show its age and I my career changed to where I travel somewhere in the US most weeks out of the year. 

Only people who travel all of the time will understand this, but the macbook pro is heavy, especially when you consider that I have to carry around a complete office in my backpack that includes another work laptop. 

A few months ago my screen starts to flicker and I decide it is time to consider replacing the computer with something much smaller and lighter. 

No big deal, just buy a MacBook or MacBook Air. Although I do have a decent home lab that I can remote into when needed, I need the ability to run some kind of local hypervisor for Windows and the occasional linux app. This requires a 16 gig machine and some kind of a decent multicore processor. This rules out the entire MacBook Air line and MacBook. Apple insists on soldered ram and limits those machines to 8 gigs. 

So I decide to downsize to a 13" macbook pro Retina. First the machine is limited to soldered ram, and then the processor is limited to dual core only. Next Apple is still using fifth generation processors in all of their macbook pro line. All of this is at a premium to a PC equivalent. 

It was not long ago that one could go to the Dell and other sites, and build out the equivalent professional model  (Precision line for Dell) of the same hardware in a macbook pro or desktop. The resulting machine would cost significantly more than the macbook pro or macintosh. Now the roles have changed. One can go to the Dell Site and build a machine that is impossible to obtain in the mac world for less than you can get a current high end macbook pro.  

An example of this is a Precision 5510. A model with the 4k screen, Intel mobile Xeon, 32 gigs of ram, 1TB flash, and a battery that gets around 8 hours, in a package slightly smaller than the current 15 inch MBP Retina, for $3100 before any discounts. The street price as of writing this article is $2,800 delivered. The highest end Macbook pro has a street price for $3,000 and is nowhere near the same level of machine. 

Now comes the inevitable operating system comparison. Yes, OSX is a unix. kinda... Each new version of OSX, umm macOS, has more and more iOS like restrictions. Even Apple admits that it is intentional.

One of the appeals of OSX is that it runs on unix and that makes power users like me happy. That is true. I still have to run windows apps and remote into other systems in order to both work and to play. Thus I have to run a VM from time to time.

What about Windows 10? Until a few weeks ago, that was simply impossible. I prefer a unix shell and do all of my script writing in unix. To accomplish this I would have to keep a running copy of linux in a vm on all of the time. This does not work well in windows or even macOS. Leaving a vm running all of the time kills the battery and you do not want a vm going into hibernation every time you moved the laptop. The next issue is that the slimmer the laptop, the worse performance VMs are going to have on it. Since one of my main goals is to downsize, this model is not going to work.

I then decided that I was going to run linux and use a hypervisor when needed.  I started to save money to get that dell precision I described earlier.

Everything changed a couple of weeks ago.

Windows 10 added a small little feature that is a game changer for the platform. The Linux subsystem is a re-implementation of their posix subsystem that was dropped earlier. Unlike Cygwin, the linux subsystem is a true interface to the windows micro kernel that runs actual linux elf binaries based on Ubuntu. The older posix system was a horrible implementation that lacked any support at all. I will not even go into the nightmare called Cygwin.

The Ubuntu based Linux subsystem allows me to run a true bash shell on my windows computer and most of the tools I am used to using on a linux machine. This product is still in beta and is improving as I write this. I am now in the situation where if I need to run a more powerful version of linux, I can either consider dual booting, or running a linux vm. So far I have been very happy with using the linux subsystem.

To test how useful this would be, I dug up an old Latitude 7440, i5 with a 1920x1080 matte display that I use for frequency coordination during football season. I changed the OS to windows 10 from 7, upped the system to 16 gigs of ram and added a second 512gig ssd to it. 

I have windows 10 pro installed on the 256g ssd, and will partition a 256g linux partition and a 256g common drive for both operating systems on the second 512 gig drive. 

Starting next week I will be on the road in NYC for three weeks and I am going to use this as my daily driver.  My plan is to see how well my use case works for this and point out anything that may help other power users out there. If this works, I will end up buying the precision I listed above and pay the extra $120 for Windows 10 pro.

From a travel perspective, this is going to be nice. My work laptop is also a dell that uses the same power supplies and dock. For road use, I only need to pack one power supply. At home in my office, I can use my dock during work hours and then change systems at night for fun. In a hotel, I rarely touch my work laptop unless I am billable thus the power supply is used on my personal laptop.

Lesson #1 - Change your console app. CMD.exe sucks and will always suck. There are many alternatives out there. I find ConEmu close to what is in linux or OSX. Change its default setting to where it executes a bash shell and you are up an running. 

To Be Continued.