Wow… talk about some surprises from Microsoft

Well… Build 2016 certainly started out with a bang…  For some reason Microsoft is having a complete love affair with Linux.  Between buying Xamarin, SQL Server for Linux, and today’s announcement that bash will be native in Windows 10.  Oh, let’s not forget that .NET for Linux/Mac and ASP.NET for Linux/Mac are real things, too, and fairly close to shipping.

“Wow, this is great!”, you say.  On the initial announcement, yeah, this seems like a great idea, something developers have been clamoring for for YEARS.  No more Cygwin, no more crazy emulators, native everything Linux on a Windows box!

But, as Charles Dickens wrote in the tale of two cities, ‘It was the best of times, it was the worst of times.”

After getting over my initial giddiness of these VERY cool announcements, the question that came to mind is ‘WHY!?!?’  Why is Microsoft doing this?  This isn’t just a ‘hey, lets do some cool experiments to get developers back’.  These are very serious investments that are not being done on a lark.

First off, the Linux love affair seems to have started with Satya Nadella.  I think under Steve Balmer, the words Linux, Unix, and OS X (and iOS) were banned.  Microsoft had not successfully done cross platform software since the early days of Excel for the Mac, and porting it to Windows.  Windows for Alpha, and Windows for Itanium never took off.  Office for Mac was a red-headed step child.  Heck, even getting Windows Mobile to run on the phones proved to be a huge challenge.

Since Mr. Nadella took charge, Linux has not only been unbanned, but it has completely been embraced.  It started with the Mac and either Silverlight or Office.  Since OS X is based upon BSD Unix, Microsoft had to come up with tools to allow them to develop for the Mac.  Microsoft started out slow, but lately, they have been able to bring a pretty good parity to Office for the Mac.  In doing so, they have build up some better understanding of developing for Unix, and are now applying that to Linux.

The one thing that worries me is that Microsoft seems to be developing somewhat of an inferiority complex.  Microsoft under Bill Gates and Steve Balmer would have always been ‘we think ours is better, deal with it’.  They would be almost as arrogant as Steve Jobs.  The new Microsoft is almost apologetic.  ‘Hey, we want to be where the cool stuff is, and we realize our stuff isn’t cool’.  Which is sad, considering that the latest Visual Studio is awesome, Powershell is cool, and Windows 10 is probably the best OS they’ve ever done.

Am I excited by what Microsoft is producing?  Sure!  I love the fact that my skill set will start to be more cross-platform.  I just want to know ‘why’.  Yes, I understand this will help Azure, and that is where the future of Microsoft probably is.  But, this seems like a LOT of resources are being poured into this Linux initiative, and there doesn’t seem like a way that Microsoft will make money.  Microsoft is not Google, where they only play with cool.


What’s this? A GOOD week for Microsoft?

Ok, I admit it… I’m an Apple snob.  Apple has been firing on all cylinders since the launch of OS X 10.4, and hasn’t appeared to be slowing down.  The switch to Intel drew me in, and I haven’t looked back.  For work though, I live in a different world.  I’m fortunate to work at a company that allows me to have a Mac Pro desktop, a Macbook Pro laptop, and an iPhone; iPhones and iPads rule the roost for phones and tablets.  With Parallels, VMWare, RDP, and Back to My Mac, I can live in both worlds and be VERY happy.  So, I do still keep up with Microsoft.

This week was a big week for the Evil Empire (Microsoft, not Apple!).  Lots of goodies came out:

  1. Windows 8.1 – This goes a LONG way to fixing the absolute nuclear disaster that Windows 8 is.  8.1 doesn’t fix everything, but it does fix a lot.  It’s amazing that Microsoft realized how bad 8 was and worked quickly to resolve.  Even better, 8.1 is a free, IN PLACE upgrade to Windows 8.  Microsoft is finally learning how to do in place updates.  Hopefully the days of reinstalling everything for the Windows crowd will soon be behind them.  Also, Windows 8.1 is a more efficient OS.  On the Virtual Machines that I run at work and home, Win 8.1 is MUCH faster than 7.  My guess is that the reduced video card requirements help out in that area.
  2. Visual Studio 2013 – This update is a lot bigger than most people realize.  Visual Studio 2012 had the same flaw that Windows 8 had… it completely failed at doing the job it was supposed to do.  The .NET 4.5 framework has gotten better and better, but VS 2012 made developing for it truly horrible.  VS 2013 fixed a LOT of the issues.  The Team Foundation part of VS 2013 is very usable, and the new IDE tools in 2013 make programs like Resharper and CodeRush not so much requirements any more.  Plus, the Database tools have come back, and are better than ever.  The loss of the scripting engine in the IDE still hasn’t been addressed, and it’s doubtful that it ever will come back, unless it is as Powershell.
  3. Remote Desktop Client for non-Windows platforms – Microsoft released Remote Desktop clients for Android and iOS, plus did a SIGNIFICANT upgrade to the Mac desktop client.  It’s funny, almost all the news sites have talked about the Android / iOS client, but none have reviewed the OS X client.  It’s not perfect, but it certainly addresses a LOT of features that have been missing.  Being able to use the Remote Desktop with a remote desktop gateway and true multi-monitor support have been great.

Hopefully, this represents a new direction from Microsoft.  Many of their products have finally matured to the point of going from ‘it sorta works’ to ‘I love working with it’.  Some of the examples are: receiving SMTP finally, which makes using the service with a non-Microsoft email client useful (deletes and reads are global!!! Horrray!)  Skydrive rocks.  Azure being competitive.  Lots of little things across the board that just seem to finally be coming together.

Good job Microsoft!

Life with Visual Studio 2005

The company that I work for switched to Visual Studio 2005 within days of the release.  There were numerous changes that we wanted and needed in the new release.  The environment is great, BUT, there are several things that I think need to change.  And, here they are! 

  1. Profiling needs to work with Unit Testing.  One of the new features of Visual Studio Team Edition for Developers is that a Profiler is included.  This is a great feature.  Also, unit testing is included.  That’s ANOTHER great feature.  Unfortunately, the two don’t work together.  There is no way to set the profiler to profile while selected tests are being run.
  2. No more projects for Web sites.  I understand the reasons, but in practice, these are horrible.  Delete a file from source control, and it will get re-added by a team member when they do their project check-in.  And .exclude is just an absolutely poor way to solve the problem.
  3. Many of the screens do not save their complete layout information.  Case in point, the Test Manager screen.  There is a drop down list to select how the grid is grouped by.  I like to see the tests grouped by namespace, so I set that.  Once I close and re-open Visual Studio, my grouping is gone, and I have to reselect the namespace field all over again.  While not critical, this is VERY irritating.
  4. Visual Studio still uses the registry!?!  Didn’t a lot of changes in .NET 2.0 go to set up configurations to NOT use the registry?  It would save a LOT of headaches (especially to us ‘beta testers’) when upgrading to new version.
  5. All the paths used by Visual Studio should be changable via the dialog boxes inside the IDE.  Currently, the only way to change some of the directory locations is to search the registry… (See #3)
  6. Speed, speed, speed…  I have a dual Xeon 3.0 GHz box with SCSI drives, the swap drive not on the windows drive, and it’s STILL slow.
  7. More refactorings, please!  Why not break out the refactoring module so that it can constantly be updated?  Companies like DevExpress and Jetbrains are going to be adding and updating their refactorings constantly!  Why can’t Microsoft do the same?

I have more gripes with Visual Studio.  More to come…