Satya Nadella just fixed Microsoft’s biggest problem
besttech.io
besttech.io
Ballmer also cleaned up the anti-trust mess and -- while his hands were somewhat tied by a dozen years of constant DoJ supervision -- tripled Microsoft's sales and doubled its profits. This was despite competition from free Linux and OpenOffice, whose fans used to tell me that Microsoft would be out of business within five years....
- Managers spent easily a quarter of their year on reviews
- Employees often competed against one another (have a great idea? Okay, but That Guy down the hall found out about it and did a half-assed implementation and got a great annual review, and you got slammed for not accomplishing enough. Or maybe your idea simply got sabotaged in some closed-door meetings. Customers? What are those?)
- Sorry, we know all the people on your team are good, but you have to fire five of them. And . . . don't bother picking them, HR already did that without your input.
In 11 years I went through four changes in how reviews were done, and things got steadily worse with each iteration. I hear things are better now; it wouldn't be hard. There was a ton of bad attrition, of really good people who got fed up with things and quit.
In a Q&A session I asked Lisa Brummel, the then head of HR, what she was doing about bad attrition, about good employees who were leaving because of the review system and politics. She wouldn't even admit that the problem existed.
The board should have fired Ballmer five years earlier; on the other hand, they might have wound up with Kevin Turner running things, OMFG. Microsoft Kremlinology is a thing.
Ha, this happened to me. I found out I was getting laid off before my boss and boss' boss did.
Almost the entire revenue growth was in repricing stuff that was widely adopted because it was cheap, and a few short lived "innovations" that people are already abandoning everywhere.
Under Ballmer and Gates this didn't happen, so consequently I liked their time much more than that of Satya. All the goodwill and other benefits that comes from open sourcing various components doesn't outweigh the privacy intrusions and lost trust that came with Windows 10, at least for me. Ballmer was loud and had his antics, Gates had his ruthless market drive that some despise, but I trusted closed source under them much more because of the claim not to abuse their customers was was hedged by the reputation the company, now that this trust is lost I can't trust Microsoft and that's Satya's legacy.
This is so true. My company was being courted by Azure folks so we got some premium access and it was always laughable and frustrating how much more I knew about their cloud architecture than they did. I remember finally being able to talk to the head of network engineering, who was able to talk me through the finer points of how their load balancers worked (we were bumping up against some limitations). That 5 minute conversation was worth more than all their white papers (which were incorrect and contradictory at times) combined. I think I asked her why they didn't publish this information. She didn't say anything.
I replied to one of those "Welcome to Azure" emails and mentioned I had some questions about integrating the Key Vault with a bunch of their other offerings. Someone from MS reached out to me and setup a meeting with a developer from one of the (many) Azure team. And this guy knew his shite, and was very helpful (still have notes from that meeting on my desk, many months later).
I was a solo developer, with a startup idea, no revenue, no company. And I got help ASAP. I thought it was awesome.
I'm sure my experience doesn't reflect the whole picture, but i think that's true all around.
The silo between Windows and development (Azure, .net etc) needs to come down fully to fix Sinofsky's mess too.
We're still left with a desktop OS UI with huge animated icons designed for a phone even though they've now given up on the phone market anyway. They gave up too easily just as Windows phone was starting to overcome that screw up and become popular with some non techy users as it really is the most user friendly.
And you don't have to spend ages trying apps and giving random developers access to your phone in order to achieve this. And app-less WP is much nicer to use than an stock Android, which in turn is much nicer than all the vendor or carrier mutilated Androids.
It's a smartphone; communication is its entire raison d'être. Those things ought to be awesome right out of the box and, on Android, they're definitely not.
The whole WinRT/.NET model of WP, and the respective tooling is miles ahead of what Google has managed to pull out of Android.
Even the upcoming Android N with Android Studio takes lots of more resources than VS, doesn't provide a proper experience for NDK users and there isn't a Support Library release that isn't followed up by a quick fix release.
I really don't understand where the skilled developers that master the Google interview process end up working, surely not on Android.
However the WP in small form factors is dead, with the latest promise drop of the 512 MB WP 8.1 devices not getting the WP 10 upgrade they lost the last faithful ones that still believed.
Where it might thrive is as tablet OS, but lets see.
Windows phone apps were the most profitable to write unless you had a blockbuster as your app was actually likely to be found in the app store but why bother when they kill it with what can only be called anti-marketing
That doesn't necessarily lead to a successful company.
As a proud engineer myself, I'm not arrogant enough to believe that my kind are the most important in any company. Google has terrible product direction, customer support, and communication, for example.
Supposedly, it's possible to link accounts, to resolve some of this clusterage, but it doesn't seem to work, or I haven't sprinkled enough chicken blood about or performed the process in the hour of the wolf under during a blue moon...
The first result just says "Email". The second result says "Office 365 login"
I'm not an internet dunce, but this is just bad user-experience. Why not have a modern landing page that tells me a bit about the product, it's price and what I can expect from it?
Why is the first result a login page?
I've been using Google Docs almost exclusively for work now. I've ditched Word completely. I was willing to give Office 365 a shot, but the signup process is so infuriatingly out of date that I don't feel like bothering.
Office is both a standalone product and an optional subset of Office 365.
Oh and if your Office 365 license is just standard but you have an individual license for Visio or Publisher then you can have Office installed locally with Office 365 integrate except for those individual licenses that you have install separately and aren't integrated.
And then there's client versioning because licenses could be perpetual, instance, instance or prior.
I could keep going....
All that being said, Microsoft has made efforts with 365 to fix these issues and the abolishing of the Sales Silo can only help matters.
MS hasn't made it easy for me to understand it either
What do you call Microsoft's personal email client? Outlook.
What do you call Microsoft's web based personal email service? Outlook.
What do you call Microsoft's enterprise email client? Outlook.
What do you call Microsoft's web based enterprise email client? Outlook.
Google doesn't have this problem because Gmail is Gmail.
I work with Microsoft's enterprise instant messaging/unified communications platform. It used to be called Lync, which, whatever, meh, it's a name. When Microsoft acquired Skype, they decided to rename the next iteration of Lync, Skype for Business. Skype and Skype for Business are two completely different products, running on top of different protocols that just barely inter-operate. It's absurd how much confusion this rebranding has caused.
javascript:(function (){var x = document.getElementsByTagName("img");for (i = 0; i < x.length; i++){x[i].setAttribute("src","");}}());
javascript:for(var%20i=0;%20i<(document.getElementsByTagName('a')).length;%20i++)%20{(document.getElementsByTagName('a')[i]).style.pointerEvents%20=%20'none';}function%20handler(e)%20{e%20=%20e%20||%20window.event;var%20target%20=%20e.target%20||%20e.srcElement;target.style.display%20=%20'none';document.removeEventListener('click',%20handler,%20false);cursor('default');for(var%20i=0;%20i<(document.getElementsByTagName('a')).length;%20i++)%20{(document.getElementsByTagName('a')[i]).style.pointerEvents%20=%20'initial';}}document.addEventListener('click',%20handler,%20false);cursor('crosshair');function%20cursor(cur)%20{%20document.body.style.cursor%20=%20cur;%20}I use Windows 7 and Windows 10 Enterprise. We paid for those licenses. It boggles my mind that anyone at MS would think sticking ads in the Windows Weather App or Skype would be a good idea for paid for software.
5 years ago I switched to OS X, because I think it's closer to the deployment environment I use as a dev.
However what OS X did ( when they killed the old one - MacOS 9 and rewrote the whole thing on UNIX based kernel ) was the single greatest move, which I think pays off even these days.
This is what I hope should happen with Windows. They should decide on POSIX kernel and completely rewrite most of it. This will put Windows as an option for me.
I think Bash on Windows is a great compromise.
Your exposure to the kernel in the last 8 years is not representative of 90+% of computer users.
I think this would be a total disaster that killed Windows, personally.
That would be "wine", which has worked surprisingly well several years.
Similarly, my laptop probably wouldn't be able to handle a production workload for any length of time...but it doesn't have to either.
One of the most widely used OS's ever is called Tron. Does that effect me? Not really. Is it important? I think so. I thought so at least enough to do some reading on the subject. Was it important from a CoSci standpoint? Maybe. NT is important from multiple angles, as well. Also, it's importance doesn't take away importance from the things that may actually touch your life. Such is the nature of things.
Perhaps you've been lucky enough to move to more modern systems, but you're in the tech circle. For everyone else, it's not an easy option. Have you ever worked for a fortune 500 company? There are systems that are nearly 20 years old with billions of dollars running through them. Moving that is not a light decision.
At this point you have platforms like Electron, which run in a browser environment. Java software which runs inside JVM. Now there's even linux sub-system inside windows, etc.
I think there is a way to do it the other way around. MS put effort in creating something similar to WINE and make a special "Windows POSIX", which let's say for the next decade is released along with the classic Windows ( Same as NT before ). Where they try to emulate / rewrite the software piece by piece until the stability is reached to switch.
I don't see this as an impossible idea to me. Actually if they did something like this I will be so happy to switch back.
As for a POSIX sub-system on Windows, well there once existed such a system that was near-compliant, but MS stopped supporting it a few years back. As for Wine, I think cygwin fulfills a similar role.
Anyway, you want your tools. You might even want your familiar filesystem and its hierarchy. I think the primary reason Microsoft deemed it worth it to implement Bash on Ubuntu on Windows was to provide webdevs access to the same tools they had on osx/linux.
All in all, I think a bit of reading on these subjects would help, because I think you're confusing the kernel with the userland.
Note: I'm faily young and inexperienced, and when I heard the "Bash on Ubuntu on Windows" announcement, I didn't really know what the meant. But learning about these bits on wikipedia/various blogs was certainly interesting.
LSB is mostly a superset of POSIX. POSIX is a subset of SUS. OSX is SUS compliant, though not POSIX certified. Windows is POSIX certified though not SUS compliant. And no one is LSB certified except a few Linux Distros.
This leaves me wondering exactly what target Microsoft should be aiming for since everyone seems to be playing by their own rules. It's like playing Monopoly with your friend's family who has their own house rules that aren't really like your family's house rules both of which are incompatible with the official rules.
---
"Moving forward we will be investigating new areas of interest while continuing to support the following scenarios:
+ GNU command line tools such as grep, sed, and awk
+ File system and symlink support within the WSL environment
+ Ability to run apt / apt-get for installs, updates, and package testing
+ Basic functionality for languages such as NodeJS/npm, Python, Perl
+ Command line tools such as Vim, Emacs, Git, and SSH"
https://blogs.msdn.microsoft.com/wsl/2016/07/08/bash-on-ubun...
I think it's telling that they called it the "Windows Subsystem for Linux" where are their prior Subsystems (SUA/SFU) were for "Unix".
They simply can't afford it, not because they lack the resources but from a strategic point of view. See the other comments talking about compatibility. Windows works for many, many, many people and businesses. It would be a suicide move. People, and even more importantly businesses, don't jump on any hot new thing just because it's available, because change has huge costs in an enterprise context. If Microsoft ever tried to pull the rug from under them, you can be pretty sure that would be the end for them.
It is necessary though. Microsoft seems to be preparing for a post-Windows eventuality as well. Doesn't mean they have to write their own operating system.
Edit: it is mostly for azure anyway... I think Microsoft might as well ride Windows as long as it can and give it up.
Then, can you explain why the C library provided by Microsoft in their compilers has such slow 'realloc()' implementation? (e.g. expanding a 10MB allocation to 20MB using realloc())
Just a few days ago there was post about how NT's IO by default is more performant.
Yeah, the NT kernel design is pretty frickin awesome. There is a great book about the run up to NT's release. He took on the job because he thought that writing operating systems would happen fewer and fewer times in the future. I think he actually said that he thought this might be one of the last times a commercial OS would be written from scratch.
The thing about operating systems is that everyone thinks they know everything there is to know, but wow are they off the mark.
The idea that windows=bad across the board is terrible.
Most don't even know what VMS is/was.
What features do you want from POSIX that Windows doesn't already provide?
Is the Linux subsystem in Windows 10 not good enough to handle this? What *nix applications do people want to be able to run in Windows that they can't already?
The NT Kernel originally was POSIX compliant and there was a UNIX user-mode subsystem available called "Windows Services for UNIX". Unfortunately over the years the distinction between the NT Kernel and the Win32 subsystem eroded and Microsoft eventually dropped the Windows Services for UNIX subsystem around 2008.
With Vista however, the MinWin initiative took off to extricate the Win32 Subsystem from the NT Kernel. This was carried forward with 7 and completed for 8. It's because of this separation that they were able to share the same Kernel in Phone, RT, Desktop and Server OSes. It's also how WinRT and UWP apps can run on Phone, RT, Desktop and Server because they do not rely on the Win32 subsystem to operate.
The Windows Subsystem for Linux is Microsoft's new Linux (not UNIX) user-mode subsystem.
Why is NT better than * nix (particularly Linux)? Two areas mainly:
- Virtual memory
This one's pretty obvious if you've ever written a malloc. Compare VirtualAlloc² with the mess of mmap/madvise/mprotect. I'm not even sure you can get the nice explicit reserve/commit of Windows with pure POSIX APIs.
Linux in particular used to have a very questionable virtual memory implementation³, but I suspect it's been much improved.
NT can demand-page kernel memory; Linux kills processes if the kernel needs memory.
- Async I/O
Here's how platforms do async I/O:
POSIX: You don't.⁴
Linux: Sleep. Wait for the kernel to wake you up when something happens so you can yell “IS ANYONE READY YET? HOW ABOUT NOW?!” at your file descriptors.
FreeBSD: Like Linux, but the API is less stupid.
Windows: Tell the kernel to run a callback when an I/O operation completes.
Personally I'm really excited for ReactOS. Linux is a 1970s kernel design.
---
¹ Well, Solaris and DragonFlyBSD have a lot of good ideas and good implementation.
² https://msdn.microsoft.com/en-us/library/windows/desktop/aa3...
³ https://lwn.net/1999/0121/a/vmreview.html
⁴ Okay okay, you have select(2) and poll(2), but then you're using select and poll.
The document you're referencing is written in 1999. I suspect a lot has changed since then.
> FreeBSD: Like Linux, but the API is less stupid.
Yeah, I covered epoll (and kqueue, which also applies to Solaris and OS X).
And the author has "LinkedIn" listed?!?!?!?!
Does anyone - aside from some MS staff and the article author - think LinkedIn was a smart buy for MS?
Everyone I know is welcoming the likely fade out of LinkedIn in not-many-years.
Azure Stack? This is coming up. https://azure.microsoft.com/en-gb/overview/azure-stack/
Azure's focus is hybrid.
Entirely egotistical of me, I came from an iPhone to a Lumia and I'm not too enthusiastic about going back (although I also use iPads, and like them). I find Android a bit of a swamp, and having only iOS as an alternative is sad.
Whether the Surface phone will make any difference is open to doubt, but it might ;-)
As an Android user, I'd be prepared to have a serious look at one.
Maybe this is a relic of old apex predators that are past their age.
Why you sell your stuff this way, you need a good salesman.
Yes, Microsoft is "uncool", but it doesn't matter to them
Sure, Microsoft has had terrible problems, but the true innovations and improvement on kernel design and implementation are truly amazing.
Kernel programmers are underappreciated.
I used it about a year ago and it was horrible, many broken features and fairly slow and unresponsive, and also exceptionally poor UX (like office for web).