Monday, November 14, 2016

Developers: Windows Linux Subsystem is a Viable Alternative


Update: Thanks to readers from HN and Microsoft; please continue the discussion on HN. To summarize this post,
I challenge an intrepid, influential developer from Facebook, Google or Amazon to attempt to replicate their development workflow -- code, build, debug -- on Windows using native Linux tools, and post their findings. If Gabe's (from Penny Arcade) experience is anything to go by, the Windows support team is hungry and will do whatever they can to fix any issues that prevent this captive audience from executing their workflow efficiently.
The first MacBook Pros are arriving at the doorsteps of their eager owners. And the reviews are markedly tepid, nay "meh". This piece on qz.com does a good job with capturing what reviewers are saying about Apple's marquee portable computer.

To Quartz's credit, the next link they present to the reader covers Windows laptops that might tickle your fancy if you feel disenfranchised by Apple. Apple has, like is its wont, left the door ajar for Microsoft, but they know they are untouchable. Despite the design and manufacturing strides that Windows laptop makers -- Microsoft included -- have made in the last few years, they cannot replicate Apple's status as the coveted laptop for "makers"; creative professionals and software developers.

A crease is beginning to appear post the last MacBook Pro announcement. The first contingent -- the creatives -- are already disgruntled, and have gone public with their sometimes extreme disappointment with Apple. It's the second contingent that's been relatively quiet so far, and this cadre of MacBook portable users fills Apple's coffers a great deal, without getting much love from analysts and bean counters. Developers who use MacBook Pros today rely on the Unix underpinnings of macOS and the Linux-inspired toolchain that translates almost 1:1 from Linux to macOS. Yes, there are differences and annoyances due to vagaries of macOS attributable to either the fact that it isn't a true BSD or an obscure broken API (e.g., the "poll" implementation). Developers overcome these shortcomings by modifying their workflow slightly, but for the most part, they *strongly prefer* MacBook XXX machines over Windows because of built-in support for their daily workflow.

Enter the Linux Subsystem on Windows 10! Now, there is a legitimate competitor to Apple for native  Linux toolchain support on a "usable", "laptop ready", consumer-oriented operating system.

To give you a sense of how user-friendly the Linux subsystem on Windows 10 is, here is what my friend did to get ViM on his Windows 10 laptop:
user@windows-x1:~$ sudo apt-get install vim
Reading package lists... Done
Building dependency tree
Reading state information... Done
...
Preparing to unpack .../vim_2%3a7.4.052-1ubuntu3_amd64.deb ...
...
Setting up vim (2:7.4.052-1ubuntu3) ...
...
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in auto mode
After which he typed this:
user@windows-x1:~$ vim

BOOM! Yes, he installed ViM on his Windows machine using `apt` without installing anything else. The native `bash` support in the Linux subsystem for Windows makes this possible, including unraveling dependencies.

If all Unix utilities work as is on Windows -- cat, awk, grep, sed, etc. -- without recompilation, then this is the last straw that can break the Apple Camel's back. To translate this; all your bash scripts, and associated automation, will work out of the box in Windows. To make this more interesting, this is not a price sensitive market -- employers pay top dollar for developer laptops. Therefore, the ASP of Windows laptops increases, thereby enabling Microsoft to sell their own line of laptops and convertibles at higher price-points (ergo, higher profits). In other words, Windows is *finally ready* to capitalize on the opportunity afforded by the negative reaction to Apple's new MacBook Pro lineup.

The missing piece for Windows 10 is street cred. Which is where this post comes in: I challenge an intrepid, influential developer from Facebook, Google or Amazon to attempt to replicate their development workflow -- code, build, debug -- on Windows using native Linux tools, and post their findings. If Gabe's (from Penny Arcade) experience is anything to go by, the Windows support team is hungry and will do whatever they can to fix any issues that prevent this captive audience from executing their workflow efficiently. Maybe Windows 10 is not there yet, but it's only a matter of time. More choices are better for developers, everywhere.

You want to get Apple's attention. I cannot think of a better way to do it than voting with your wallets...

Saturday, November 05, 2016

Finding a Footing


The last 10-days, bookended by Apple's "Hello Again" event and a truly successful Digital acquisition kickoff meeting, have flown by.

Immediately post Apple's event, the Internet caught fire. The iPhone launch, specifically the removal of the headphone jack, had already incensed the Apple faithful. The MacBook Pro's launch fanned these flames and whipped everyone into a frenzy. The most vocal of the critical bunch were the professionals and creatives. They feel most disenfranchised by Apple, and I don't really blame them. Their use case is extremely niche: 32-GB of RAM, very high-end graphics, UNIX-like OS. Their loyalty to Apple thus far has been unflinching. This might change with the launch of the Microsoft Surface Studio.

Yes, I referred to a Microsoft product. Many a story has been published that describes Microsoft as "cool", and that products like the surface have forced a volte face in people's perspectives on Microsoft. A role reversal has occurred, and Apple needs to stanch the bleeding before it's too late.

The announcements and my experience with the new products has shaken my belief in Apple. The haptic engine driven Home button the iPhone has lower usability than the old Home button. The UX changes in iOS have forced users to change their workflow. Force touch still doesn't work well. The MacBook Pro's TouchBar is going to take some getting used to. These annoyances, not issue enough on their own, are tantamount to "death by a thousand cuts". This is very un-Apple-esque; usability of their products is the stuff of legend, and enables Apple to command a price premium.  With this edge dulled, not only will Apple have to reduce the ASP of their products, it opens the door for competitors to fill the void.

How did customers respond? They ordered the new MacBook Pro so much that the pre-orders broke all previous records. Weren't customers reading all the negative press and reviews? Don't customers care about all the things that the technology press cares about? No and No. I wrote about this widening chasm :here:

Like Apple, I had my own potential moment of reckoning this past week. Since starting at GE this January, I have completed a number of assignments, but this week was the first opportunity to cement my role in GE's vaunted M&A group. GE has grown through acquisitions for the last 100-odd years, and the Digital division has been busy with identifying companies to acquire to shore up its capabilities. I have been selected to own delivering outcomes and manage all integration related activities for one such Digital acquisition.

McKinsey and BCG posit that success of a complex undertaking such as an acquisition is predicated on a strong kickoff and planning session prior to implementation. This week marked the first planning session for the acquisition I am to manage, and the stakes were high. I spent three weeks coordinating, planning and building content for the 2-day kickoff. Despite the preparation and prior experience, I was nervous on Wednesday night. A lot was riding on how I ran this workshop...

To say I hit a home-run (the Cubs just won the World Series; baseball is fresh in my mind) would be an under-statement. I hit it out of the park! Every attendee complimented me on how I orchestrated the session, facilitated decision making, and kept discussions moving along when they were at risk of falling off the rails. One attendee said that this came naturally to me; I want to take a moment to thank my leadership team at Deloitte Consulting for honing this innate capability of mine. Peter Vanderslice and Rajeev Ronanki gave me the opportunities and coaching that have taken my skills to the next level. Thank you!

No trip to Seattle is complete without tennis with Tim. Over the years, our friendship has blossomed, with each interaction making the next easier and more relaxed. Tim is both zen and pessimistic, and his advice has made me a more strategic player at the "Game of Life". We played indoors today, and hitting tennis balls again was electrifying. I have worked hard on my mobility, breathing control and patience, and the results are starting to show on the court. Tater tots and burgers after a hard 75-minutes on the courts was the perfect denouement of a long 10-day story.

The Huskies and Seahawks play critical games this weekend. I am going to kick back, read and take a much needed break this weekend. To more phases like these in the future...