XP SP2 Can Slow Down Business Apps
An anonymous reader submits "Mobile PC magazine installed XP SP2 on a bunch of notebooks and benchmarked them, finding that SP2 caused a 9-percent performance reduction in business productivity apps. While a couple of notebooks performed better, the majority took a 3- to 22-percent performance hit." For now, the story is just at the top of the Mobile PC website, but they promise more details in an upcoming issue.
So let's say you have a 10 million LOC operating system that's written in C and C++ and has a shitload of security holes. Customers are furious.
.NET class libraries. Figure out a policy of "when it needs X% of the LOC rewritten before the next release, you have to rewrite the whole thing in C# instead of C++" for each library.
You also happen to make a profit of $30 billion a year.
What to do?
1) Put 1,000 developers on the task of writing regression tests. All those crazy hacks that keep badly written but immensely popular apps running on XP can still run - just make sure you have a test case for them. Build a cluster of 1,000 screaming fast servers, just to do continuous builds of the application. Of those 1,000 test writers, take maybe 25 of them and put them on advanced regression testing R&D. Invent new ways of regression testing giant projects more efficiently or more effectively. Invent new languages, tools, processes, and formal models for testing code. Have your IT people figure out how to build the ultimate regression testing node.
2) Build or buy (or have customized) the most badass static code inspection tools in the world. Hire a few dozen PhD's to dream up new source code metrics to find the top 25 anti-patterns in your source code, and write algorithms that can find them and bring them to the attention of testers. Hire some bioinformatics people and some SETI@Home people and some data warehousing people just to make sure that you've got people who are looking for knowledge in the data, instead of imagining things that might happen in some imaginary data set that looks nothing like your actual data set (the source code).
3) Have Bill send out a memo that commands the legions to write every damn thing in C# (or an even higher level language) from now on, unless you can get a design review committee to approve use of C, C++, assembly, etc. for a specific part of an app. There should have to be a solid case for "why aren't you using C# for this", with metrics that prove that C# just can't do it (and the C# and CLR groups told you that they can't meet your requirements). Have every service pack you release from now on include or depend on the latest
4) Put 100 developers on the task of code reviewing every single line of Internet Explorer for possible security holes. Hire everybody from the OpenBSD group to train your own people on how to do this.
5) Put 500 developers and 100 analysts on the task of fixing security holes as soon as they are known. It should be possible to have a fix (not fully regression tested, but closing the security hole) within 24 hours of hearing about the bug. Offer a decent bounty to any and all security organizations for finding and reporting bugs to you without telling the outside world about them for a minimum of 7 days.
6) Fucking fix fucking awful Windows Update. Use HTTPS for everything. Buy 3 or 4 of the ISVs that offer alternatives to WU, and integrate all of their best ideas. Go way way out of your way to send diffs and save the end-users bandwidth, so they'll actually use the thing. Test the bejeesus out of it, so that the chances of an update breaking the machine are tiny - again, so users will use the thing.
Seems like too much to do? Again... 30 BILLION DOLLARS A YEAR. Even if 1% of this effort pays off, it'd be worth it in the customers you retain.
A lot is two words you retard, it is also NOT WRITTEN IN CAPITALS.
Bush and Blair ate my sig!
I've heard so much about the programming practices at Microsoft and what not - and yet, ironically, these things keep cropping up so damn bloody often while some operating systems [openbsd.org] coded by a bunch of loosely connected hackers are way more robust and stable.
Three reasons:
1. BSD is a much simpler OS. Remember, Windows isn't just a kernel, but a graphics subsystem, a window management layer, and so on.
2. Windows is very high profile and is what the crazies are targeting with their virii and other attacks. People are actively looking for these exploits under Windows.
3. It isn't at all clear that BSD has fewer application-level exploits than Windows, such as these image decoding overruns. It's not like these newly discovered exploits have been used to attack Windows. They were accidentally discovered by programmers. I'm sure if everyone started going through the source for BSD applications they'd find exploits, too. So this isn't a valid comparison, because there's no data.