Shoot the breeze, anything goes.
MasterOne

2014-03-23 17:32 »

If you missed it, below is the writing of a Microsoft employee that came across as extremely pissed at the company. Subsequent to deflating, he did an about face and recants his earlier statements in another post. It's evident to me that Microsoft only fixes and adds features to Windows if it helps their bottom line. I've done comparison tests between various recent Linux distros and Windows 7, and the Linux system always is noticeably more snappy and responsive. It's just faster. Since NTFS still can't compete with EXT4, and as you'll read below, ReFS sounds like a dumb idea, I'm not going to waste my time testing 8.1. I have ran it before, and it was adequately responsive. But, as you all know, I don't run OS's with backdoors in them with unknown potential and undocumented functionality. And even if it were documented and its potential were known, I still wouldn't use it. Windows needs a package management system just like Linux has, and i'm not talking about the feudalistic app store that's designed for a 4 year old. Linux and Apache HTTP Server have taken the web server market by storm, and it's not just because it's free that this happened. It's just better. Apache is simple to set up; it only requires configuring a file in vi or nano, and you are up and running in no time. Debian distros have a few files to configure instead of 1, but it's still very easy. I'm really disappointed in Microsoft, and I still can't believe how stupid their management team is. They are just totally clueless, and have no idea on how to get their products moving again. Here's a tip to start: Stop using the name "Windows". It's stupid, lame, and has a negative connotation associated with it. "Windows" may have been cool in 1985 when GUI's were cool, but it's not cool anymore. Slowly migrate to something else, and don't name it anything like "Bing" or "Zune". Microsoft obviously has idiots working for it that choose names.

Think of all the people that got burned by Windows 8. Are they going to continue buying Microsoft's crappy operating systems next time around, as the desktop market shrinks? Linux is getting better and better, and maybe one day Apple will open up their software to the PC market. Who knows. There are so many other options now for computer users, that if they continue having poor experiences with Microsoft products, they're going to abandon them completely. And let me reiterate -- the fucking desktop market is shrinking, so is that not a double whammy? Your market is shrinking, and the users are running away from that shrinking market because your products are shit. The desktop market is shrinking, and your operating systems are stinking. Seriously, I can't believe that Windows still isn't right, and it's been since 1985. Wow.

I'm a developer in Windows and contribute to the NT kernel. (Proof: the SHA1 hash of revision #102 of [Edit: filename redacted] is [Edit: hash redacted].) I'm posting through Tor for obvious reasons.

Windows is indeed slower than other operating systems in many scenarios, and the gap is worsening. The cause of the problem is social. There's almost none of the improvement for its own sake, for the sake of glory, that you see in the Linux world.

Granted, occasionally one sees naive people try to make things better. These people almost always fail. We can and do improve performance for specific scenarios that people with the ability to allocate resources believe impact business goals, but this work is Sisyphean. There's no formal or informal program of systemic performance improvement. We started caring about security because pre-SP3 Windows XP was an existential threat to the business. Our low performance is not an existential threat to the business.

See, component owners are generally openly hostile to outside patches: if you're a dev, accepting an outside patch makes your lead angry (due to the need to maintain this patch and to justify in in shiproom the unplanned design change), makes test angry (because test is on the hook for making sure the change doesn't break anything, and you just made work for them), and PM is angry (due to the schedule implications of code churn). There's just no incentive to accept changes from outside your own team. You can always find a reason to say "no", and you have very little incentive to say "yes".

There's also little incentive to create changes in the first place. On linux-kernel, if you improve the performance of directory traversal by a consistent 5%, you're praised and thanked. Here, if you do that and you're not on the object manager team, then even if you do get your code past the Ob owners and into the tree, your own management doesn't care. Yes, making a massive improvement will get you noticed by senior people and could be a boon for your career, but the improvement has to be very large to attract that kind of attention. Incremental improvements just annoy people and are, at best, neutral for your career. If you're unlucky and you tell your lead about how you improved performance of some other component on the system, he'll just ask you whether you can accelerate your bug glide.

Is it any wonder that people stop trying to do unplanned work after a little while?

Another reason for the quality gap is that that we've been having trouble keeping talented people. Google and other large Seattle-area companies keep poaching our best, most experienced developers, and we hire youths straight from college to replace them. You find SDEs and SDE IIs maintaining hugely import systems. These developers mean well and are usually adequately intelligent, but they don't understand why certain decisions were made, don't have a thorough understanding of the intricate details of how their systems work, and most importantly, don't want to change anything that already works.

These junior developers also have a tendency to make improvements to the system by implementing brand-new features instead of improving old ones. Look at recent Microsoft releases: we don't fix old features, but accrete new ones. New features help much more at review time than improvements to old ones.

(That's literally the explanation for PowerShell. Many of us wanted to improve cmd.exe, but couldn't.)

More examples:

We can't touch named pipes. Let's add %INTERNAL_NOTIFICATION_SYSTEM%! And let's make it inconsistent with virtually every other named NT primitive.
We can't expose %INTERNAL_NOTIFICATION_SYSTEM% to the rest of the world because we don't want to fill out paperwork and we're not losing sales because we only have 1990s-era Win32 APIs available publicly.
We can't touch DCOM. So we create another %C#_REMOTING_FLAVOR_OF_THE_WEEK%!
XNA. Need I say more?
Why would anyone need an archive format that supports files larger than 2GB?
Let's support symbolic links, but make sure that nobody can use them so we don't get blamed for security vulnerabilities (Great! Now we get to look sage and responsible!)
We can't touch Source Depot, so let's hack together SDX!
We can't touch SDX, so let's pretend for four releases that we're moving to TFS while not actually changing anything!
Oh god, the NTFS code is a purple opium-fueled Victorian horror novel that uses global recursive locks and SEH for flow control. Let's write ReFs instead. (And hey, let's start by copying and pasting the NTFS source code and removing half the features! Then let's add checksums, because checksums are cool, right, and now with checksums we're just as good as ZFS? Right? And who needs quotas anyway?)
We just can't be fucked to implement C11 support, and variadic templates were just too hard to implement in a year. (But ohmygosh we turned "^" into a reference-counted pointer operator. Oh, and what's a reference cycle?)

Look: Microsoft still has some old-fashioned hardcore talented developers who can code circles around brogrammers down in the valley. These people have a keen appreciation of the complexities of operating system development and an eye for good, clean design. The NT kernel is still much better than Linux in some ways --- you guys be trippin' with your overcommit-by-default MM nonsense --- but our good people keep retiring or moving to other large technology companies, and there are few new people achieving the level of technical virtuosity needed to replace the people who leave. We fill headcount with nine-to-five-with-kids types, desperate-to-please H1Bs, and Google rejects. We occasionally get good people anyway, as if by mistake, but not enough. Is it any wonder we're falling behind? The rot has already set in.

User avatar
Steven W
VIP
Posts: 2874
Joined: 2013-08-10 22:40

2014-03-23 23:03 »

Right on. I can't help but think about an article I read a few years ago about how Linux has already won:

http://www.networkworld.com/news/2011/0 ... osoft.html

After mentioning the server market, the article goes on:

Linux can be found in consumer electronics devices, like Sony televisions and camcorders, the Amazon Kindle, and in smartphones and tablets as part of Google's Android. Linux leads the market from the tiniest embedded systems to the largest supercomputers, with more than 90% of the Top 500 supercomputing sites in the world running Linux.


Of course the generic no-name cheap devices that anyone can afford might make the biggest difference. I can't imagine any possible reason to destroy the advantage they have on desktops/laptops, even though it is dying out, with that kiddie interface. None. It didn't have to be this way. Now the investors think that Office for the iPad is gonna save the company. I just sit back and snicker. They ignore customers, they ignore reality and most importantly they ignore geeks. Facebook APIs get added as teens turn away from the flash in the pan website. Do you think any geek really wanted Facebook APIs built in to any operating system? Do you think any geek wants APIs to interact with *any* website built in to any operating system? Do you think geeks want the whole walled garden/shopping bag experience? People are going to wake up and realize just how bad the dotcrapframework is too, one of these days. Instead of geeks running MS, they have far too many 40 and 50 year old wannabe teenagers.

I am glossing over the concerns about backdoors/killswitches, et cetra. Those concerns are certainly valid.

Once the Linux 2.6x kernel rolled out and started being used by various distos, I could see that the need for Windows was pretty much gone.

Microsoft has chosen its direction and acts as though they can't change it. Oh well, been nice knowing you, Microsoft.

User avatar
!
30%
Posts: 3263
Joined: 2013-02-25 18:36

2014-03-24 13:34 »

@MasterOne,

That guy did send an update to his rant, from the original post:

"""

Edit: This anonymous poster contacted me, still anonymously, to make a second statement, worried by the attention his words are getting:

"""

All this has gotten out of control. I was much too harsh, and I didn't intend this as some kind of massive exposé. This is just grumbling. I didn't appreciate the appetite people outside Microsoft have for Kremlinology. I should have thought through my post much more thoroughly. I want to apologize for presenting a misleading impression of what it's like on the inside.

First, I want to clarify that much of what I wrote is tongue-in-cheek and over the top --- NTFS does use SEH internally, but the filesystem is very solid and well tested. The people who maintain it are some of the most talented and experienced I know. (Granted, I think they maintain ugly code, but ugly code can back good, reliable components, and ugliness is inherently subjective.) The same goes for our other core components. Yes, there are some components that I feel could benefit from more experienced maintenance, but we're not talking about letting monkeys run the place. (Besides: you guys have systemd, which if I'm going to treat it the same way I treated NTFS, is an all-devouring octopus monster about crawl out of the sea and eat Tokyo and spit it out as a giant binary logfile.)

In particular, I don't have special insider numbers on poaching, and what I wrote is a subjective assessment written from a very limited point of view --- I watched some very dear friends leave and I haven't been impressed with new hires, but I am *not* HR. I don't have global facts and figures. I may very well be wrong on overall personnel flow rates, and I shouldn't have made the comment I did: I stated it with far more authority than my information merits.

Windows and Microsoft still have plenty of technical talent. We do not ship code that someone doesn't maintain and understand, even if it takes a little while for new people to ramp up sometimes. While I have read and write access to the Windows source and commit to it once in a while, so do tens and tens of thousands of other people all over the world. I am nobody special. I am not Deep Throat. I'm not even Steve Yegge. I'm not the Windows equivalent of Ingo Molnar. While I personally think the default restrictions placed on symlinks limited their usefulness, there *was* a reasoned engineering analysis --- it wasn't one guy with an ulterior motive trying to avoid a bad review score. In fact, that practically never happens, at least consciously. We almost never make decisions individually, and while I maintain that social dynamics discourage risk-taking and spontaneous individual collaboration, I want to stress that we are not insane and we are not dysfunctional. The social forces I mentioned act as a drag on innovation, and I think we should do something about the aspects of our culture that I highlighted, but we're far from crippled. The negative effects are more like those incurred by mounting an unnecessary spoiler on a car than tearing out the engine block. What's indisputable fact is that our engineering division regularly runs and releases dependable, useful software that runs all over the world. No matter what you think of the Windows 8 UI, the system underneath is rock-solid, as was Windows 7, and I'm proud of having been a small part of this entire process.

I also want to apologize for what I said about devdiv. Look: I might disagree with the priorities of our compiler team, and I might be mystified by why certain C++ features took longer to implement for us than for the competition, but seriously good people work on the compiler. Of course they know what reference cycles are. We're one of the only organizations on earth that's built an impressive optimizing compiler from scratch, for crap's sake.

Last, I'm here because I've met good people and feel like I'm part of something special. I wouldn't be here if I thought Windows was an engineering nightmare. Everyone has problems, but people outside the company seem to infuse ours with special significance. I don't get that. In any case, I feel like my first post does wrong by people who are very dedicated and who work quite hard. They don't deserve the broad and ugly brush I used to paint them.

P.S. I have no problem with family people, and want to retract the offhand comment I made about them. I work with many awesome colleagues who happen to have children at home. What I really meant to say is that I don't like people who see what we do as more of a job than a passion, and it feels like we have a lot of these people these days. Maybe everyone does, though, or maybe I'm just completely wrong.

"""

Anyway, I don't agree that .NET is too bad, it's excellent for rapid line of business applications and it is excellent (IF YOU USE IT CORRECTLY, I won't detail why or how, that's for another thread) for creating Web sites. ReFS in'st that bad actually. I use it both for Windows Server 2012 R2 and Windows 8.x. Windows 8.x is not a bad operating system AT ITS CORE... we actually do run Windows Server 2012 R2 for this very same Web site and they have made management of IIS much easier with configuration files and all.

...but Steven, you have some excellent points on WHY this good core operating system is looking and acting as if it was a piece of warm shit coming out of a dog's anus hole.

Steven W wrote:...
  • I can't imagine any possible reason to destroy the advantage they have on desktops/laptops, even though it is dying out, with that kiddie interface. None. It didn't have to be this way.
  • Now the investors think that Office for the iPad is gonna save the company. I just sit back and snicker.
  • They ignore customers, they ignore reality and most importantly they ignore geeks.
  • Facebook APIs get added as teens turn away from the flash in the pan website. Do you think any geek really wanted Facebook APIs built in to any operating system?
  • Do you think any geek wants APIs to interact with *any* website built in to any operating system?
  • Do you think geeks want the whole walled garden/shopping bag experience?
  • Instead of geeks running MS, they have far too many 40 and 50 year old wannabe teenagers.
  • Microsoft has chosen its direction and acts as though they can't change it.
...

Long story short, FUCK YOU MICROSOFT! :evil:

2513.jpg
2513.jpg (68.12 KiB) Viewed 3744 times


User avatar
!
30%
Posts: 3263
Joined: 2013-02-25 18:36

2014-03-25 10:22 »

Although, hate the name "Azure" too. Maybe they should just name it "Microsoft" hahahahha... :mrgreen:

Post Reply