Switching from Mac to PC for .NET Development

Just like hammers, drills, and screwdrivers are the tools of the modern tradesman, so to is the computer the trade tool of the modern software engineer. How it is constructed and how well it performs determines how well you can accomplish the tasks you set out to complete.

With this notion in mind, it was time for me to sell my 2014 MacBook Pro 15. It was a great machine from a performance standpoint. It had a wonderful display, fantastic keyboard to type on for long sessions, and a trackpad that could beat any others in the year I bought it.

So why sell the laptop? Well, frankly, because it’s hard to be a .NET developer on MacOS. Sure, there are great IDEs like Visual Studio Code, but that pales in comparison to the feature offering of a full fledged Visual Studio IDE when working with a large solution compromised of multiple projects. What about Visual Studio for Mac you ask? Also wonderful if you’re primarily working on Xamarin apps. They’ve made fantastic strides with it, but support is behind for several features not directly benefiting Xamarin, such as TypeScript. Honestly, I don’t mind the idea using a cloud Mac provider like Macincloud.com to handle my Xamarin builds remotely as there is nice support for this now. The final nail in the coffin is Parallels. Yes, it works, but it’s expensive (including recurring fees), it’s clunky, and it’s not nearly as performant as a native OS. Throw in applications like Docker and you have strange Inception level virtualization issues to wrestle with.

So, where does that leave us? In the past, this may have been difficult to swallow, because one reason so many developers love their Macbook is because it runs a variation of unix, and subsequently has great capabilities beyond the wonderful UI it offers. A .NET developer looking to verify their apps run cross-platform could have considered this, but thankfully, today we have Linux subsystem for Windows. I just installed Ubuntu… from the Microsoft Store… crazy!

Ultimately, after a lot of research, I settled on the Lenovo X1 Carbon (5th Gen). It is a fantastic laptop, and “everything works” despite my belief that was only possible on a Mac. I went with the 16GB model, 512GB of storage, and the WQHD display. It’s got great battery life (I spent about 5 or 6 hours on it with pretty heavy load tweaking settings, installing all my applications, and it lasted on battery only no problem).

Some additional features of the laptop I plan to leverage but haven’t yet, are the fact this unit has 4 PCIe lanes, so an external GPU such as the Gigabyte Aorus GTX 1070 will allow me in the future to have the dream setup: one single machine for both work and play. I looked at other models like the Dell XPS 15 but this had some shortcomings like the webcam position (I do video calls for work sometimes) and also I didn’t want the 4K display to avoid some high dpi compatibility issues and battery drain. Another positive, on modern laptops in general, is the fact that USB-C charging is nearly ubiquitous and getting my laptop charged is now less of a concern than before with the proprietary Macbook charging adapter.

Also, if I ever decide to convert this into a Linux laptop, it’s good to know that this model has good support already for it and all of the hardware should be compatible for me. It will allow the laptop to last quite a long time if necessary.

All in all, I’m really, really happy with this laptop. And the best part about it: Windows has come a long way and is actually pretty nice to use. More applications run on it, it has the Linux subsystem support, and it’s improving constantly with the “Creator” updates they are releasing.

 

Build a top notch Home Theater PC (HTPC) for around $800

Just built a HTPC not too long ago.   Here are the specs if you are interested.

Once I built the machine, and loaded all the drivers, updated the BIOS, etc.   I setup the following apps:

Windows Media Center 7
Boxee (Lots of great content here like Revision3, Fox, etc)
Media Browser (for a great looking interface for viewing content in Media Center)
Any DVD (for archiving my existing movie content to my HP EX470 Home Server)
Also, the following plug-ins allowed me to easily swap between my 3 main programs (Hulu, WMC7, Boxee)
Boxee WMC Plugin
Hulu Desktop WMC Plugin

 

All in all, my wife and I were not watching cable very much anymore, so this has been a great solution for us.   I’m a bit concerned with Comcast’s 250GB data cap, but with compression getting better and better, and being able to enjoy the over the air broadcasts, it hopefully will not be a concern.

 

With this setup we are able to get the best of all the wonder niche content on the web (Netflix, Hulu, Revision3, Music Videos on demand, etc) and also get broadcast television in beautiful HD content in any room in the house (thanks to Windows Media Center Extender/Xbox 360).