Microsoft Developer Explains Why Windows Kernel Development Falls Behind
New submitter mha writes "In a response that truly seems to be from a core Microsoft developer, we are told about why Windows kernel development continues to fall further and further behind that of the Linux kernel. He says, '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. ... 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."'"
"Oh god, the NTFS code is a purple opium-fueled Victorian horror novel [...]" -- lol!
I think therefore I am... a Linux geek.
People at M$ only innit for the money. Microsoft's got good people no doubt, but I am reminded of line from Chef in Apocalypse Now: "They lined us all up in front of a hundred yards of prime rib. Magnificent meat, beautifully marbled. Then they started throwing it in these big cauldrons. All of it. Boiling." That's Microsoft: boiled prime rib.
its all the chairs that are flying around the room....
also need for more lawyers then developers and developers that are lawyers.
YEA thats all have a nice day.....and YOU MADE A TABLET OPERATING SYSTEM AS YOUR MAIN OPERATING SYSTEM HOW RETARDED ARE YOU
its because of her genes though
The quality of Slashdot trolling has gone way down recently.
These NIH type problems are hardly unique to Microsoft, or even proprietary software. It's human nature. Big success contains the seeds of its own destruction. Open source has the forking mechanism which provides an outlet against some of the worst abuses (only).
they have to keep introducing new ways to nerf HOST file support to prevent APK from taking over the Internet.
Sounds like the guy was just frustrated and venting. Lots of us do that sometimes, and this one seems ready made to please the slashdot crowd. But do read the retraction the guy posted.
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.) ...
All of the problems listed there are the direct result of poor management.
Accepting an outside patch makes your lead angry because . . . .
makes test angry because . . . .
and PM is angry because . . . .
There's just no incentive to accept changes from outside your own team.
When this happens, the manager who is in charge of all those people steps in and says "You will co-operate and get things done, or else you will no longer work here". Sadly, too many managers are too lazy and/or gutless to do this.
Natalie P0rtman?
I submitted this story. I am only human - what was I thinking? I guess I thought of the many strange comments I could elicit...
I am so sorry, guys. I must say that shortly after reading the story reason set in (but I was too quick on /.) - there is nothing unexpected in it. It is no big deal. It is a non-story. Everything described is not "Microsoft", it is human, including the complaints. I don't think the points are invalid, it's just that one can make a long list like this for ANY large (or even medium) project. Life is messy - but I got my first story submitted (which means nothing).
My apologies.
I just hope that the guys managers, should they find out, react maturely - by doing exactly nothing (at least no punishment). Stuff like this happens, and if it does so only once it should be overlooked.
PS: On the other hand, enough people voted this to the front page...
Sigh. She's married now. The hot grits will just never taste the same.
Don't blame me, I voted for Baltar.
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, ...
Well, what do you expect? Microsofties come to Slashdot, get picked on, insulted, called evil, etc ... then they have to go home and cry themselves to sleep. The days of the Microsofty crying his way to the bank to see his millions are gone. Now, he cries in his bed, over the insults on Slashdot and the insults spewed at him during his performance review.
Now, some of those poor poor basterds are at Google and Google is now Evil and they'll have to put up with the abuse AGAIN!
On another note:
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?)
Dude, I feel for the compiler team. MS' programmer tools team is the BEST on the planet bar none. YOU guys should walk around with your heads held high and your pants down do I can kiss your asses! And as far as anything regarding C++ is concerned, well the creator of that language - He who shall not be named - should have stopped in 1998 with adding features to that language - maybe even in '90. He made 'C' OOP - awesome!! Then he went crazy with the "features".
As it is now, I won't touch C++ for new development. ASNI C for system/metal work or anything that needs high performance and Python for most of everything else. GUI work depends on the platform - Visual C# rocks for Windows dev!!
Don't get me going on a rant about Java's current state of stinky.
Must be those host files finally kicking in and blocking these lusers.
Microsoft tried to kill the Start button, but it failed as the open-source Classic Shell struck it to the ground.
Microsoft could try to kill the .../drivers/etc/hosts file, but it'll fail as the developer of an open-source DNS resolver incorporating efficient hosts file lookup throws it to the ground.
(Apologies to Tenacious D)
Leads that decline changes since you will own more code, test departments that do not have resources and a PM that fears everything sounds very familar to me.
I've seen great features being deferred since the testers were not able to test due to lack of resources and I've seen PMs that denied corrections of known bugs since they feared that error correction will introduce even more bugs. And leads often do decline things because of political reasons (e.g., because if previously had been said that there's no time left within deadline, there has to be no time left. Even if the tech stuff already started reading newspapers at work)
After all these things work since products do not need to be good, they just need to be 'good enough' to make money.
As company and products grow, they become more and more risk averse and reluctant to change.
You can always find 100 reasons not to take risk and change.
In the end the day, you get your pay check no matter how. So who cares.
While this might be pervasive at Microsoft, this problem does occur at other companies as well.
Perhaps this is better suited as a Poll, but is programming for glory a common thing? is it a main motivator?
I veiw need as a main motivator, programming what I need when I need it. I don't code professionally though, but in a professional setting perhaps one needs passion.
If a project has enough churn, you can actually justify cleaning up design, interfaces and even entire subsystems in some cases. If all you do is make each piece of code you touch suck just a little bit less, you'll hate having to work on that code less and less over time. All you have to do is look at the code and think "it doesn't HAVE to be this way!" If that old application everyone hates has gotten to the point where it requires a full time position just to maintain it, there's usually no reason why the design couldn't be improved along the way. My goal in maintenance positions is to eliminate the need for that job. There'll always be SOMETHING that needs maintenance, so I don't feel bad about doing so.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
From Pournelle's web site:
Pournelle's Iron Law of Bureaucracy states that in any bureaucratic organization there will be two kinds of people":
First, there will be those who are devoted to the goals of the organization. Examples are dedicated classroom teachers in an educational bureaucracy, many of the engineers and launch technicians and scientists at NASA, even some agricultural scientists and advisors in the former Soviet Union collective farming administration.
Secondly, there will be those dedicated to the organization itself. Examples are many of the administrators in the education system, many professors of education, many teachers union officials, much of the NASA headquarters staff, etc.
The Iron Law states that in every case the second group will gain and keep control of the organization. It will write the rules, and control promotions within the organization.
*** Finding a way to effectively deal with bureaucratic capture of institutions is probably the number one human problem.
Most of you have no idea where performance PC-like architecture is heading, but if you did you'd comprehend how important articles like this are in helping to understand why Windows is doomed.
Consider the PC from its origins as an IBM design to the (near) present. The focus has been on what is crudely known today as SINGLE-THREADED performance. This is a monumentally dumb programming approach that means at any one time, only one code 'branch' is doing heavy continuous work that uses the significant resources of your PC. Other threads are given periodic, massively inefficient, access to the CPU cores by the dreadful Microsoft scheduling system, to keep the background tasks functioning.
This lousy approach to coding and computer architecture has suited both Intel and Microsoft. It gives us computers that in 99.99% of cases cease to get any benefit beyond 2.5 cores (the 0.5 comes from the scaling efficiency- obviously you don't get half cores). As a result of this, we are still using an extraordinarily primitive 2x64 bit memory bus on all consumer grade PCs. The Microsoft OS and programming model simply doesn't show improvement with modern RAM systems.
Now the Sony PS4 is arriving with an incredible, futuristic, PC architecture- an architecture that ONLY makes sense because it neither runs Microsoft Windows, nor uses an Intel approach to interconnecting memory buses. The PS4 has a cluster of EIGHT CPUs, a massive number of GPU clusters that can be used for streamed GENERAL PURPOSE calculations, and a HSA memory architecture that means the SINGLE (yes, the PS4 has all of its computing elements on one chip) chip feeds an integrated memory space via a massive 256-bit bus (4x64) connected to incredibly fast GDDR5 RAM chips.
The PS4 is designed to run dozens scaling to hundreds of powerful worker-threads, each doing the same real work as that single thread on an ordinary PC computer. If Windows were used on the PS4, the mere overhead of handling so many worker-threads would reach > 100%, meaning that the time managing the threads would be greater than the time spent by the threads actually doing work.
Put simply, future computer designs MUST be coded "close-to-the-metal". An OS that tries to guess what resources a thread is going to need, and for how long, is doomed to complete and total failure. The application itself must be responsible for ALL SEMANTIC signalling. The OS must be prepared to allow the application to define the efficient use of the resources of the computer.
On Windows, the OS is always trying to guess the intent of a thread. Applications CAN crudely attempt to reserve system resources like 'memory', but this idea is confounded by the scheduler which crucifies memory efficiency by having no explicit thread-control of the cache-system of the CPU. The scheduler tries to GUESS which threads are going to keep appearing on the scheduler list in order to keep their cache use coherent. The best a "to the metal" approach can hope to achieve on the PC is one heavy thread per CPU core, and one-to-two threads to the GPU. Anything more and the "clashing" and "thrashing" will eat all theoretical improvements of more simultaneous heavy threads.
Radical changes to the PC architecture are coming- not from the hopeless Intel, but from AMD. AMD plans PS4 like parts for future general and server PC use. AMD's Kaveri part, later this year, is a 6-core CPU cluster and powerful set of GPU clusters on the same chip, with a shared memory architecture drawing from a GDDR5 memory bus. Unfortunately, Windows will take no advantage of the architectural improvements, so the part will show little general improvement to the ordinary PC user.
Ordinary PC users won't begin to fret UNTIL it becomes increasing clear that AAA games titles from the PS4 cannot be efficiently ported to Windows. The best PS4 coding practices of mid-2014 onwards will not be possible on any Windows PC. The Windows versions of such games will thus need to be simpler cruder implementations with many features missing
One very refreshing thing about OSS is that it *tends* to stay more merit driven even should it encounter success.
In commercial software... well.... I have my own experience.
I work at a company with a generally reviled piece of software that is frequently 'tolerated' by users enough to not completely tank its share. By some peculiar set of circumstances, a small team I worked on happened to have cause to create for some customers a solution that in almost every way ran circles around the 'flagship' product at the same general job. It did more, it did it faster, and it did it with fewer resources.
I naturally thought 'hey I'll help'. I got advised to not go anywhere near it for the sake of my sanity and enjoy the technical achievement as long as we could without drawing attention. The moment our little band's efforts would be recognized as 'strategic', that will be the end. As proof they invited me to participate in a few discussions, and pretty much all of the same stuff mentioned. If an immediate effort that could be done to rectify a problem, they'd find some way to suggest a nebulous standard they predict coming out in two years would solve it, so just wait and see. The other goto excuse was there just was too much test and legacy behind it to risk anything.
I set up a $10,000 challenge for you to prove that.
http://www.google.com/trends/explore#q=slashdot
...may very well be the HUGE increase in competition of websites clamoring for attention. I *do* believe that it would have behooved them (/.) well to continue to work on the moderation system - it hasn't changed much in all that time, and I see LOTS of room for improvement (not that it would be easy, but I don't even see attempts).
www.reactos.org
https://www.youtube.com/results?search_query=reactos&filters=year&lclk=year
The NT kernel is mature. I got a copy of Richter's book a couple of years ago, and it had not changed much from the copy I had a decade ago. NT is solid and works - we have had Windows 2000 and Windows 7 based on that kernel, which are rock-solid releases, and the various Windows Server releases. Microsoft's emphasis has been making SQL Server feature-complete so people who buy their turnkey stuff don't have to buy Oracle (and have done an impressive job of it - I was reading about SQL Server 2012 after last having used 2000 and it's getting to where SQL Server has a lot of enterprise features), and on their new Metro GUI (how's that working out, Microsoft?) so the mature kernel is mostly sitting there, working, and being solid. They achieved their goal of dumping the old DOS/Windows hybrid OS and migrating everyone to NT. (Did anyone see that coming in 1995? Did you imagine your desktop would run a server OS?) They have a 64-bit kernel. I think the mission was accomplished. I don't like MS's business practices or their patent wars, but the technology in the NT kernel is mature and solid.
That is why ReactOs is better
I am a fairly active linux contributor. I have patches all over the kernel tree. I also review drivers/staging code.
Most of the patches that I send are things that I cannot test because I don't have the hardware. Even though I'm careful, there are still a few times where I have introduced bugs. The most recent example was code like this "if (!attributes & 0x4000)". That has a precedence bug so the condition is always false. Unfortunately changing it to "if (!(attributes & 0x4000))" disabled certain graphics card. The correct thing was to delete the condition.
Breaking stuff is just a part of development, you try your best but don't let fear of breaking things stop you from applying patches.
Probably over 5% of the 10,000 patches in every new kernel are cleanups. We're always merging API changes and unlike Microsoft we don't care if it affects out of tree drivers. There isn't any subsystem where the owner says, "This code is stable now and I'm only accepting actual bug fixes."
The other thing that helps is the short release cycle. If something does break, it's easy to fix.
Some people find linux development frustrating. One developer told me, "Ever since XXX took over the YYY subsystem he has been constantly changing the API and re-writing my code. Does he ever sleep? I don't know how anything works any more."
It's hard on reviewers as well. I have reviewed literally over 3000 cleanup patches to the comedi subsystem. I have mornings when I feel lazy and it doesn't fill me with joy to see 40 new cleanup patches in my inbox. The process is expensive.
But I do feel a great deal of pride in the work.
This happens at all companies I've ever worked at. My current employer (not disclosing who) rejected several fixes I presented them because they were unplanned, could lead to more work for the already overloaded testers and I had not been asked to fix them. All of the things the MS kernel engineer mentions. The various fixes I provided however eliminated visual flicker in the user interface (double buffering) that has been annoying users, improved security of the product (using newer cryptography standards), enhanced performance (they told me not to preoptimize, but it was postoptimization), solved serious glitches (these are causing serious issues that no one else seems able to solve, i solved them, but they denied my fixes), made the code more elegant (refactoring), increased deterministic predictability of actions to prevent random glitches in the product (like something being drawn in the wrong order, etc). I feel like I'm not really being utilized, they've put me on a few unimportant tasks like removing dead code since I've been here. My resume for this particular job isn't going to look very impressive.
Instead of everyone getting upset because they have work to do while making adjustments to new changes, how about you just do your damn job and maybe things will get done faster, with better quality. It's not a war, it's software development. If you want to stay relevant, you will do everything in your power to understand this and become better at what you do. In the case you don't want a job, keep getting "pissed" every time changes come down the pike. Consumers don't care about your personal struggle with adapting to change. This isn't a daycare, it's business.
New slogan
I'll bet she'd still look good petrified.
From http://blog.zorinaq.com/?e=74, Bill Pytlovany wrote
This statement encapsulates the entire difference between an MS Programmer and a Unix Programmer.
Unix programmers don't buy into this sorta voodoo, hocus-pocus nonsense. Really.
Every time I see a statement like that from an "experienced" MS programmer, I want to scream!
It's not meant to be a personal attack against Bill, either. But consider C# has absolutely no way to tell where you
are in an application - just a basic little thing like __LINE__ and __FILE__, and you see that that is the Microsoft core
attitude to their product. You can't always run the "wonderful" VS development environment on you target platform;
some developers use logging as their only means of identifying and correcting bugs. And, because it's from MS,
people really believe this is the best way to do things. I'm not a MS hater, but it's their (Bill's) subtle arrogance that
is essentially the ruin of the industry.
Very Sad.
The first rule of the internet is that everything is true, and that if somone says they are something then it must be so, like me, im a astronaut on a super secret mission to be the first to land on mars, go me...we launch in 2017, but you wont know it, it will be disguised as a satellite launch.
I must say though, anonymous person posting over tor does leave a little credibility to be desired. Of course i remember the first rule of the internet, how can i not, its the only truth out there, but if i was truly a critical thinking person id be forced to spend a little bit of time wondering if this was just some jackass trying to get attention, or someone truly from Microsoft. I mean, clearly he is from Microsoft cause he speaks with so much unproven knowledge, he sounds good right? that must mean he is telling the truth, no way he would lie, right? nobody lies on the internet, why should they, being anonymous means you always tell the truth right? anyways, i got to go train now, going to be the Neil Armstrong of mars, to bad nobody will ever know about it but ill probaly get on tor and write a article about it since its annon people will believe me and make a big article and ill be supper popular.
It sounds like MS has become like most IT departments in the world; the department of NO.
Generally IT people are operating under a a system where they are brutally punished if things go wrong, are vaguely rewarded if they do what someone wants, and not rewarded for doing things that people don't understand (like simplifying the usage of VPNs). So these IT departments see any change requests as increasing the possibility of disaster and thus bad. This results in a combination of refusing to adapt to the company's needs as both dictated through employe requests and through changing technology. This is evidenced through many larger older organizations still running a bunch of SUN servers or a Novell network.
But it is often far more vicious where you have IT people actively reaching out into the company and telling them what technology they may use and how they might use it. One advantage of the iPhone over the Blackberry was that generally iPhones were impossible to ruin through "Corporate Policy" and BlackBerries could be completely neutered through an easy to use interface. But out of control IT people need not fear for long as horrible companies came along to give them the tools to mangle even the iPhones.
IT people might blah blah about corporate security and various data management laws but the simple fact is that if companies don't exist for the sake of their IT departments. IT is a tool that most companies use to achieve their core goal. Yet you have IT departments treating say the head of marketing of a $20 billion dollar company like an infant "for his own good". Where I find it interesting is when IT meets the President or the CEO. Often the president will say something like "I don't want to change my password every 30 days" The IT people don't dare pull the "corporate policy" card but resort to whining about the rational with the CEO concluding, "I'm going to change my password at the exact same frequency that I change the head of IT. So set things up accordingly."
Again this is not all because IT is filled with evil trolls but because their rewards are structured incorrectly. The best run companies that I have ever seen structured IT really well so that when some guy comes in with his Vic-20 and wanted to use it for presentations they either showed him how bad an idea it was or made it happen but then billed his department for the effort. Saying NO just wasn't something they were insented to do. The result was the more stupid the requests from various departments the more budget that went to IT. This way you don't cut ITs budget you told the various department heads to be less stupid with their money.
Back to Microsoft. It sound like MS has created a similar case of fiefdoms that have perverse incentives that are not aligned with the basic goals of the company. I know in the old days of MS they would hand out stock options like candy. This resulted in many people becoming insanely rich. Maybe they need to go back to that same structure. If a small department does something extraordinary they get some big bucks. This would have to be carefully managed as I can see a few superstar programmers doing the heroic only to watch their manager pull up in a new Porsche on Monday and for them to quit on Tuesday.
Code turns to crap with indenting screwed up and code which nobody knows the purpose of. Nobody wants to fool with it because of the risk.
http://michaelsmith.id.au
In contrast, employees of a company are doing whatever it takes to make a paycheck
That is totally wrong. Many programming employees at companies ALSO enjoy what they do. They are ALSO good programmers.
But as this article attests to, what they cannot do is influence code outside the group they are in, even if they have access to it. So the effect they can have, even if they are very good, is often reigned in a great deal beyond what it could be.
The reason Linux does so much better is because restraints are based on ability, not on arbitrary non-technical boundaries.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Microsoft HAD the perfect opportunity with Windows 8 and especially RT to start afresh and remove all the old 16 bit and redundant code. Instead they built it around an already bloated and old system. They could have easily introduced a smaller lighter kernel with vast performance improvements and still had the bloated full version for those that still need to run Windows 98 programs!
This problem is also occuring with other closed systems (IE OSX etc), as well as many programs such as Office, Adobe everything, Corel, etc where old base code is simply added to, not necessarily improved.
For fun, try running XP on modern hardware and watch the basic performance difference - its astonishing how much faster general operations run on the old os and kernel!
My understanding is this can be turned off. It is less Windows and more Windows Defender:
"Windows 8, set for release on 26 October, automatically deletes entries in the HOSTS file for specific domains. Try, for example, to prevent attempts to access Facebook.com, Twitter.com or ad servers such as ad.doubleclick.net by rerouting them to 127.0.0.1 by adding entries to the HOSTS file and the relevant entries will soon disappear from the HOSTS file as if by magic, leaving nothing but an empty line."
This behavior is due to Windows Defender in Windows 8 thinking it has discovered malicious modification of the Hosts file. Windows Defender is enabled by default in Windows 8. Users who would like to continue using the Hosts file as a simple, albeit effective method of blocking certain sites, can do so by adding the Hosts file to Defender's exceptions list. Of course, that means that Defender will never be able to notice any actual malicious changes to the Hosts file.
Windows 8 seems to be rather prejudicial about which entries in the Hosts file Defender will automatically delete. It automatically deletes Twitter, Facebook, doubleclick and other ad sites but other domains such as "heise.de" it leaves intact.
www.h-online.com/security/news/i927.html
Doctors destroy health, lawyers destroy justice, universities destroy knowledge, religion destroys spirituality
First off: Why does it need to? Its a desktop OS the buisness aspect is minimal as a domain. The amount they charge vs usefullness is a bit over bearing any sufficent admin should look into samba and make do. It is easyier dealing with users with a Microsoft Server but I don't see it as a necessity. The new versions are getting better with command line tools you can use in scripting. But they lack so much in making scripting easy that it is a pain to get things all the way you want. How hard it was getting printer settings via having to create registry entries for example is just a bit of crap. Even on the buisness side it really doesn't need to be. Secondly: There are millions more linux programs all greed(good greedy) in their own right of what they want in a kernel. Some benifit from others and even companies that have steake in it to make it better for all sorts of crazy reasons. Thirdly: What difference would it make for Windows? They aren't after that aspect of the market. With linux being capable of getting free and replicating at no extra cost for super computers. Trying to come in now and sell something just doesn't make sense.
Seriously. Its not a market differentiator for them anymore. Put it out in the open source community and watch the magic happen.
With these presumptions in mind Moore's Law can now be applied to predict the last successful product date for the Microsoft corporation.
Unfortunately the investors, the number has been negative for some time.
Now that this is revealed, shorts will accelerate the pace.
Heh in the EU the decision was recently made that
1) truth is no longer a defence against slander (so stating a fact about someone can be punishable by 4 years in prison + damage restitution in most EU countries, this "has nothing to do" with a certain commission politician not getting his way in court for "restitution" for an article about his past)
2) truth is no longer a defence against the various political correctness crimes (there is no longer any obstacle for an EU judge to convict people for stating that blacks have black skin, or muslims comitted 9/11 because of islam, or stating that the King/Queen of various countries really seems to be using her judicial immunity to get away with a lot of shit (kings + family in Europe cannot be sued, e.g. for non-payment of debts, and well, they're certainly aware of that))
So for Europe, the battle for the truth is lost. The truth is legally subordinate to the "rights" of various groups (firstly of politicians, and secondary of violent groups in society). This is the same status it mostly gets outside of Europe.
An early boss put it to me this way: In the corporate world, you are only ever going to be motivated to be just better enough than the competition to convince people to buy your product over theirs. If there are competiters, that means you get into a spiral of 'little advancement by one, followed by copying and little advancement in the others.".. its slow innovation. In a monopoly, you get no innovation at all.
In the open source world, you're motivated by what the problem really is. You're doing it to make a batter product, that meets a better need. It leads to much greater innovation. You don't stop when you're better than the competators. Whats more, if the need is great, anyone else can move it forward, not just the company/individual.
This is not unique microsoft, its something nearly every company struggles with.
- --
"I Hate Quotes" -- Samuel L. Clemens
Will XP SP4 ever arrive ?
There are still a ton and a half of broken stuffs in the XP platform
One MILLION dollars! (dr. Evil laugh...)
try going for billions next time, shoot for the sky!
moves about as fast as windows, and I've never once heard of a dist upgrade to it breaking any thing. Slackware too.
Or are you talking a full dist-upgrade. E.g. going from one mainline trunk to another (e.g. Ubuntu 8 to Ubuntu 13). That's not a fair comparison. Try taking your Win XP box to Win 8 and see how that works out for you unless you've got bog standard gear, in which case your Ubuntu upgrade probably worked too.
Oh, and woe be on to you that lets Windows update install a video driver that's not generic Intel. It will lay waste to anything Nvidia or ATI.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
one of the advantages Microsoft has is that they're paying people to do the boring parts. It's hard to get people to finish making open office stable and user friendly because all the glory is in adding new features. After the features are added and they work in 90% of the cases nobody does the dull work of making them work for that last 10%. Trouble is if you use it a lot you're gonna hit one of those last 10% cases sooner than later...
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
When you can show me ONE distro, just one, that can pass "The Hairyfeet Challenge"* then you have something to brag about.
*.- For those that don't know "The Hairyfeet Challenge" simulates the typical 5 year cycle of your average PC, we take one random laptop and one random desktop out of the pile, we install ANY distro release from 5 years ago and we update it to current. Wanna guess what happens when you hold Linux up to just HALF the Windows lifecycle? it DIES, it DIES HARD, it shits all over its drivers and by the end you'll be lucky if even 30% of what was working at the start is 100% functional at the end.
Well I for one, are introducing the "Reverse Hairyfeet Challenge".
You do the same with Windows. But with one little specific detail: you do it from the point of view not of a corporate user, but a at-home end-user.
So you try surviving going all the way from Win98, all the way though WinME, and end up with Windows XP Home. See if you can keep you sanity going through this mess.
(I could have been even worse, I could have asked to start the challenge at Windows 3.11 and end-up at Vista, but I would probably get arrested for violating international laws against torture just for suggesting this).
And even if you managed to keep sanity you would probably not keep the hardware: at each major jump you'll end up noticing that your hardware is from a noname aisan manufacturer who since long went belly up and didn't bother writting drivers for the newer OS architecture. Requiring you to buy another piece of hardware from another manufacturer).
For the record, the laptop on which I am writing this is happily running opensuse for more than 2 years now, each update being done simply by live-updating to the newer version - while the distro is still running and used at the same time.
And 2 years ago, this laptop wasn't installed clean from scratch. I simply carried over the disk content from its predecessor. (Yup, try doing that with windows without entering a world of pain: you take a running Windows XP from one laptop, then yank out the disk, plug it into another laptop, and have it start. On linux, its mostly without problems. On Windows, your only hope is to clear huge part of the registry and configuration, to put it back into a "fristboot mode" where all the hardware is scanned again).
And I've got probably desktop carrying over the same installation for much longer. I think the jump from 32 to 64 bits was the last time I did a fresh install, then kept simply ugrading over.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
If Linux fails to keep up with the pace of change in the graphics/GPU computing world it will never be able to rival Windows as a gaming platform.
Still, the recent incursion of Valve and its Steam into the linux world, the big success that Humble Bundle has among Linux player (they are significant propotion of the buyers, and on average tend to pay the double than windows users*), and the fact the lots of the crowd-funded game project very easily reach their "Stretch goal: Linux support" (or has the most vote for that extra option), etc.
all these fact tend to disagree with your idea that linux is never going to have any luck at gaming.
There is a market already for linux games. It was just untapped because until now, the big corps behind AAAA title didn't bother paying attention. but recent trends in indie and crowd-funded development has shown that there is indeed a market, which in turn is getting picked up by big names.
Not to mention that Linux has pretty much won also the embed market since long (with Apple's BSD-distant-derivated system having also a significant share specifically with tablets and smartphones) Windows on ARM is just a joke.
And slowly, the graphic cards manufacturer are collaborating to make things better:
- AMD/ATI have been actively helping opensource driver efforts (to the point that now, the opensource driver is the preferred for most older GPUs).
- Although they don't help much on the desktop, nVidia have very recently started helping support opensource tegra, simply because they now that they need linux for the embed world and past mess of every company keeping their own fork at fixed old kernel revision just doesn't work anymore.
- Intel has always being opensource to begin with
- In the process of bringing source engine to Linux, Valve has collaborated and fixed bugs or brought amelioration to both open and proprietary driver stacks.
So no matter what you think, serious gaming IS coming to Linux.
*: Well for obvisous socio-economic reasons. Linux users are likely to be computer savvy, thus probably work at tech jobs and thus higher paid and can afford more. A Sysadmin is more likely to have more money to spend on games than some guy flipping burgers.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
... 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."'"
Yeah, that's exactly true in open source sw also, especially the projects maintained by larger corporations. All the devs are payroll with a lot to lose and nothing to gain in just the ways outlined in the article.
Add to that the devs are also clubby in the extreme. They are easily slighted in online communication and it takes just one sufficiently high level dev branding you as undesirable for any reason and you're done.
Believe me I've seen this happening from the inside and to people who just wanted to learn and contribute to our project. The human mind is a wondrous thing and apparently you don't have to actually meet someone in person in order to develop an irrational hatred of them . I have watched as our own prickly pear in the hierarchy, a guy with effective hire/fire power over others bad mouths an outsider and the result is that no one is going to be caught dead helping that person online much less think about accepting that person's contribs.
We all know,even if only unconsciously, that this is the politics of open source. You see that knowledge leaking out in the obsequious responses hopeful acolytes give to being abused, curtly replied to or insulted online by some gate keeper of the project. People just take it because they have to and when they can't take it anymore, when they've worn out their paper-thin welcome, they just stop appearing.
People come to wield extraordinary power in OS projects because generally they're the one person who knows about X. Its their world and they make up the rules. There is precious little redundancy WRT dev knowledge, build knowledge, module knowledge etc etc and the devs like it that way.
Unfortunately, for a large segment of the population, that kind of power leads directly to despotism. Wikipedia is often cited as having this problem WRT Wikipedians with super powers, so it's not limited to just writing code.
The price we pay is hard to see because it's in what never happens- innovation. Innovation is the worst thing for a project, on top of all the other reasons the OP cited, there's potential prestige that would flow to the innovator that a lot of payroll devs would be jealous of. Anything that smells like innovation is unconsciously threatening to them. It's just a natural fact that if your cycles aren't sucked up by an overabundance of ordinary programming duties you have a better chance of a reconceptualizing a problem more broadly You see this everywhere too. In a lot of fields the people who run the experiments aren't the ones who think them up . That falls on lab workers. The researchers who make great advances aren't the ones who run the classes and grade the papers and homework, that falls to the TA.
Meanwhile, what is erstwhile the innovator supposed to do? That person hardly has the power to fork a large project and the studies of projects which have been forked by charismatic outsiders show that, almost universally, forks are ultimately abandoned , maybe some contribs folded back in, but more generally just fail owing to a lack of resources.
The likelihood of this outcome is also unconscious knowledge for most devs and heavily influences their interactions with project owners. In the end, those project owners are really as much gatekeepers / people whose egos need to be pleased and never ever offended as any corporate boss.
We are a
How about we keep this in the current millenium?
Of course the migration path from Win3.11 up to Windows 8 is almost impossible, I'm half joking. But I try to attract the attention to a few key points (yes I know. Don't explain the joke...):
- HairyFeet's challenge works more or less because he's cherry picked a few key point (I wanna have working wifi) and a specific time frame (very recent history of windows, where it is more or less the same kernel under the hood, with only relatively minor additions).
The thing is, before comparing, you have to decide which criteria you're using to compare in order to avoid comparing oranges and apples, and be sure you're on a common ground. What's constitute an actually good common ground can be somewhat subjective.
My joke is about breaking the test by changing these conditions. Selecting things which are completely unfair to Windows.
You mention that a machine able to run Win95 or even able to run Win3.11 is very unlikely to have the ompf to run Windows 8. Simply order of magnitudes differences in requirement.
Well, just think about Linux. It happens that you can run lots of modern distribution on *very old* hardware.
Of course, it does require some tweaking (during the "upgrade game", installer would probably suggest jumping from KDE 2.x to KDE 3.x and then KDE4.x because that's what most people needed back then. If you need to run your distro on out-dated hardware, you might need to prefer jumping to another DE with much lower requirement and stick to it. FXCE is a possibility, LXDE is another. There are even other environment with simpler requirement).
Linux has two big advantages: the ability for the end-user to tune its environment for much lower requirement, and better support for older hardware (older hardware for Linux means more time to get tested and better support. For windows it usually means the maker went belly up and nobody is here to write driver for newer versions of windows, so usually every big upgrade also means throwing away all your cheap old noname peripherals).
Starting with your "stay at the same millenia" criterium, I could also speak about "staying with approximately the same generation of technology". .SYS and win3x .DRV, then Win9x. VXD, then WinME's ugly hack, then WinNT's .SYS - 100% guaranteed breakage)
Hairyfeet's challenge exactly as formulated is unfair to linux because, under the hood there's almost no difference between Windows 2000 and Windows 8. It's a nearly identical kernel with nearly identical APIs during the whole lifetime. The only minor changes are a few changes with the graphic driver model (but which isn't covered by the Hairyfeet challenge. But which regularily kick you back into non accelerated famre buffer mode at each major change - indeed breaking) and security having been overhauled around the time of XP SP3 and Vista, because microsoft was forcibliy dragged kicking and screaming into doing it, because of business needs. (For why just everything else stagnated, just refer to TFA - yes, I know, slashdot, etc.)
(If we had started earlier, we would go thourgh racidally different types of drivers, dos
Meanwhile Linux has seen quite a few changes in architecture and its a miracle that you can actually upgrade accross so much distribution generation. This miracle is mostly due to package managers being clever (hal is deprecated by udev and everything is un-installed and re-installed as necessary, thank you RPM-/DEB-'s dependency checking !) and the software being opensource (at each generation switch, package manager can have access to almost everything needed to make sure that everything plays out nicely).
Only two exceptions exist:
- graphic drivers - they are produced by 3rd parties and not in control of the distribution's package manager. Distribution could play a little bit around (writing package which try to automatically pull the correct blob while leveraging the package dependenc
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
Natalie P0rnmat?
there, ftfy
why don't they just plagiarize from linux?
as long as windows source code stays closed, nobody can really prove anything... they could maybe change the name of a few constants, reorganize a couple of for loops, etc.
and this approach probably fits right into microsoft's business ethics
I am glad this information was released. It only makes sense, with Microsoft keeping the Windows kernel closed source. Let's face it, the Linux kernel is setting the bar in business and datacenters; Microsoft is becoming more of a desktop and consumer company. VMware, appliances, and everything in the datacenter all run on the Linux kernel, and has for years. The Windows kernel is too slow and bloated, not to mention more expensive, to run these services. That's why I use GNU/Linux on all desktops as well, it's rock solid and allows me to get the most out of the hardware.