Slashdot Mirror


Software Engineering at Microsoft

an_mo writes "A link to a google cached document is floating around some mailing lists containing some info about microsoft software engineering. In particular the document contains juicy bits about the development of a large project like NT/2K. Some examples: Team size went from 200 (NT3.1) to 1400 (Win2k). Complete build of win2k time is 8hrs on 4way PIII and requires 50GB of hard drive space. Written/email permission required for checkins by the build team." The HTML version on Usenix's site is much nicer than Google's auto-translated version.

461 comments

  1. What no sacrifices to the gods? by Anonymous Coward · · Score: 2, Funny

    Surely a quick goat killing is required at least before check-in

    1. Re:What no sacrifices to the gods? by Castaa · · Score: 2, Funny

      No, goat sacrifices are for stable running of Windows. Calf sacrifices are for the compilation. It's in the bible.

      --
      Chew: You Nexus, huh? I design your eyes.
      Roy: Chew, if only you could see what I've seen with your eyes.
    2. Re:What no sacrifices to the gods? by Lobsang · · Score: 1, Troll

      What do you expect? People checking in before they email their bosses? And what happens when a bozo checks in a piece of code that DOES NOT introduce a new security bug?

      C'mon man... They got a [bad] reputation to uphold! :)

    3. Re:What no sacrifices to the gods? by Anonymous Coward · · Score: 0
      What no sacrifices to the gods?

      Nope. Only to Djinn. It's clearly stated in their procedures manual.

    4. Re:What no sacrifices to the gods? by SysKoll · · Score: 2, Insightful

      Indeed. You need to sacrifice at least the mythical all-redhair goat if you want to get 3 days of uptime with NT5.0 a.k.a. Win2000

      I saw a sig saying: Taking software security advice from Microsoft is like taking airline security advice from Bin Laden.

      I disagree. Bin Laden proved that he knew a lot about airline security (and how to defeat it).

      For all its self-congratulation, MS still does not know how to achieve code quality in a large software project. They do a lot of wide-and-shallow useability studies, but they pay as much attention to reliability testing as Hollywood pays attention to scriptwriters (i.e., not a lot. Remember the old joke? "How do you spot a blonde would-be actress in a movie cast? She sleeps with the writer.")

      -- SysKoll
      --

      --
      Mad science! Robots! Underwear! Cute girls! Full comic online! http://www.girlgeniusonline.com/

    5. Re:What no sacrifices to the gods? by mclearn · · Score: 2

      Reading this comment, it's funny that my Slashdot fortune is that "sacred cows make great hamburgers."

    6. Re:What no sacrifices to the gods? by Anonymous Coward · · Score: 0

      What?? No curry for half the dev. team before check-in?

    7. Re:What no sacrifices to the gods? by Anonymous Coward · · Score: 0

      No shit. For years i've heard the horror stories about windows, but hadn't felt the pain. Recently my company outlawed unix on the desktop and game us WinXP boxes. What is this shit?

    8. Re:What no sacrifices to the gods? by fallacy · · Score: 1

      "No, goat sacrifices are for stable running of Windows"

      Microsoft must have run out of goats a pretty long time ago then...

    9. Re:What no sacrifices to the gods? by FooBarWidget · · Score: 1

      I'd rather see the goatse.cx guy getting sacrificed.

    10. Re:What no sacrifices to the gods? by Anonymous Coward · · Score: 0

      Wanna hear something that will really frighten you?

      Win2K/XP is at least 20x better than the old NT 4 it replaced. and NT 4 was 100000x better than the old win9x series.

      fear.

  2. I don't know much about build times.. by Psx29 · · Score: 2, Informative

    So for something like Windows 2000 is that a long time?

    1. Re:I don't know much about build times.. by Osty · · Score: 4, Insightful

      So for something like Windows 2000 is that a long time?

      It's long-ish, but not overly long. For a comparison that you may be more familiar with, consider the time it takes to compile the Linux kernel, your chosen libc, other libs you'll eventually need (say, gtk and/or qt, etc), X, GNOME or KDE, some apps (xmms, xine, a couple editors, etc), and probably 8 or 9 other things I'm forgetting right now. You'll probably come up with a similar number (probably smaller, but there's also probably less code in all the above tools).

      That's not to say it can't be made faster. I don't know whether that time was on a multi-threaded compile or not, but I'd sure hope so given that their build machines were 4-way machines. Also, note that they didn't say what speed the P3s were. 4 P3-500s will surely compile slower than 2 p3-1.2GHzs. Nor did they say if those were Xeons or not (larger cache is better for compiling). The obvious solution is to throw hardware at the issue, but there are other things that can be done like incremental building, better sync/drains for multi-threaded compiles, more efficient compilers and build scripts, etc.

    2. Re:I don't know much about build times.. by CptNoSkill · · Score: 1, Informative

      I can't speak for windows, but using gentoo and building everything from source, starting from stage1, It took about ~6 hours. That includes basic system compile, x, kde, and mozilla. All this was done on a Athlon 1.1Ghz, with 40Gb of ram. IMHO, 50 Gigs of HD? That is alot of space.

    3. Re:I don't know much about build times.. by Raul654 · · Score: 1

      MMMmmm....precompiled binaries.....

      --


      To make laws that man cannot, and will not obey, serves to bring all law into contempt.
      --E.C. Stanton
    4. Re:I don't know much about build times.. by phong3d · · Score: 3, Funny

      40 gigs of RAM? That's some Twinkie.

    5. Re:I don't know much about build times.. by Anonymous Coward · · Score: 0

      All this was done on a Athlon 1.1Ghz, with 40Gb of ram. IMHO, 50 Gigs of HD? That is alot of space.

      40 gigs of ram? Damn kid, that's a lot of ram ;)

    6. Re:I don't know much about build times.. by Anonymous Coward · · Score: 0

      well, it's almost as long as it would take to compile mozilla, if that gives you any idea...

    7. Re:I don't know much about build times.. by Lennie · · Score: 1

      I hope you mean 4GB.

      --
      New things are always on the horizon
    8. Re:I don't know much about build times.. by Verizon+Guy · · Score: 1

      I'm glad I spent my money on those "Enlarge Your Penis!" emails that I receive in my hotmail account than on 40 GB of RAM.

      --

      Aw, fuck it. Let's go bowling. - The Big Lebowski

    9. Re:I don't know much about build times.. by Indy1 · · Score: 2

      well win2k came out in jan of 2000, so my guess would be p3's in the 500-700mhz range.

      --
      Lawyers, MBA's, RIAA? A jedi fears not these things!
    10. Re:I don't know much about build times.. by Anonymous Coward · · Score: 0

      Take a look at ccache.

    11. Re:I don't know much about build times.. by XMunkki · · Score: 1

      well each time you do an #include , WIN32_MEAN_AND_LEAN or not, you end with over 1.5mb of header files to be included. Sure, the precompiled headers can help to overcome this, but still I'd suppose this much of info should slow down the compile time considerably.

      I'm not so sure they use implementation hiding to speed up compile time, as luck would have it, everything in windows depends on windows =).

    12. Re:I don't know much about build times.. by Fulcrum+of+Evil · · Score: 2

      Well, as i recall, the box was an Dell 8-way Xeon p3, and it built everything, including both versions of several system Dlls (basically, anything with a TChar export, since that changed from char* to short* on win9x to winnt)

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    13. Re:I don't know much about build times.. by Anonymous Coward · · Score: 0

      So it compiles about as fast as it boots.

    14. Re:I don't know much about build times.. by ozzmosis · · Score: 1

      Well it just took me 23hours to build openoffice...

    15. Re:I don't know much about build times.. by copec · · Score: 1

      gentoo 1.3b took like 30 hours on an athlon 1900+

      GCC3 is _slow_

      but much more optimised (Mmmmm, floating point using SSE)

      the system literally boots and runs twice as fast as my debian install

    16. Re:I don't know much about build times.. by Anonymous Coward · · Score: 0

      8 hours to compile panic()?

    17. Re:I don't know much about build times.. by fancypiper · · Score: 1

      My gentoo build took a little over 24 hours to compile on a celeron 650. Open office took longer to compile.

      --
      Fancy Piper: http://www.myspace.com/philsexton
    18. Re:I don't know much about build times.. by chez69 · · Score: 0

      My mozilla compiles only take 29 minutes on a athlon 1600 (x2) with 512 megs of ram.

      --
      PHP is the solution of choice for relaying mysql errors to web users.
    19. Re:I don't know much about build times.. by two-bookoo! · · Score: 0
      You said "4 P3-500s will surely compile slower than 2 p3-1.2GHzs. Nor did they say if those were Xeons or not (larger cache is better for compiling)."

      Just for referance- you can not run a standard P3 on a 4way box. Standard p3's Can only be run on 1 or 2 proc boards. They had to be Xeon procs.

      Also, based purly on proc speed, you are right. Although when you compair a 4way box, your hardware is "most likly" going to be faster and of a higher quality. i.e. faster disk subsystem (64bit pci Raid card(s), more ram, etc. ) When measuring computer speed, processor speed is not everything. (not that we don't all aready know that)

      My $0.02

    20. Re:I don't know much about build times.. by millette · · Score: 1

      That's why Lakos gave us redundant include guards almost 10 years ago :)

    21. Re:I don't know much about build times.. by Emil+Brink · · Score: 2

      By their very definition, binaries kinda have to be "(pre)compiled", you know... You probably mean precompiled headers, at least that would make more sense.

      --
      main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
  3. Build time by Kufat · · Score: 0, Funny

    "Complete build of win2k time is 8hrs on 4way PIII and requires 50GB of hard drive space."

    Compiling with Visual Basic .NET sure does take a long time and a lot of space.

    1. Re:Build time by Anonymous Coward · · Score: 0

      "Complete build time is 8 hours on 4 way PIII Xeon 550 with 50Gb disk and 512k RAM"

      No wonder it took 8 hours, compiling with only 512k of RAM.

    2. Re:Build time by Anonymous Coward · · Score: 0

      Do you have any idea how much Linux would gain if it had an IDE as easy as VB.NET and an installer that was user-friendly? Those 2 things would make desktop linux a reality almost over night. I think the installer is not far around the corner with Gentoo leading the way, and Borland may pull through with an IDE. I would start writing software for Linux if I had a better environment to work with.

    3. Re:Build time by Lennie · · Score: 1

      There are several KDevel is one of them, the Kompany probably has more.

      --
      New things are always on the horizon
    4. Re:Build time by groman · · Score: 1

      Kylix 2 has been out for awhile... I'm still waiting for Linux world to change overnite.

    5. Re:Build time by King+of+the+World · · Score: 1
      Try IBM WebSphere. The installer fucking sucks but it's better than VS.NET.

      If you're broke, try eclipse.org

    6. Re:Build time by Cynikal · · Score: 1

      you forgot about ram...

      "Complete build time is 8 hours on 4 way PIII Xeon 550 with 50Gb disk and 512k RAM"

      i'm surprised it compiled AT ALL with only half a meg of ram...

    7. Re:Build time by phanki · · Score: 1

      it indeed is true..y such a RAM constraint. Can anyone think of a technical reason y the RAM has been restricted ? Atleast if the RAM were a lil more then the build time would reduce.. M$ people out there ..any answers ?

    8. Re:Build time by Cynikal · · Score: 1

      i was poking fun at their typo, i think they meant megs, not K

  4. What a waste of time and money! by ranulf · · Score: 0, Flamebait
    Complete build of win2k time is 8hrs on 4way PIII and requires 50GB of hard drive space

    So, the first day after checking out the source for the first time will be completely unproductive... Let me see, 1440 man days is about 7 man years which is about $210,000 in salary alone. Disk would be at least $144,000. Hmmmm.

    And 1440 is a hell of a lot of people to be working on one project. I know there'll be a lot of smaller sub-projects, but trying to co-ordinate anything would be a managerial nightmare!

    1. Re:What a waste of time and money! by Anonymous Coward · · Score: 0

      I'll bet that one of those 1440 other people has got a build you can copy.

    2. Re:What a waste of time and money! by hatrisc · · Score: 0

      they have microsoft project =)

      --
      I write code.
    3. Re:What a waste of time and money! by DNS-and-BIND · · Score: 2
      They might schedule the compile to complete overnight. That's what we always did, back in the bad old days when I was a Unix sysadmin.

      Of course, knowing MS, they would do it in the middle of the day.

      --
      Shutting down free speech with violence isn't fighting fascism. It IS fascism!
    4. Re:What a waste of time and money! by Anonymous Coward · · Score: 0

      You've never worked on a large project, have you. If you are a win2k developer you do not build the thing on your desktop. This kind of project is why God made build farms.

    5. Re:What a waste of time and money! by cpeterso · · Score: 4, Insightful


      Only the NT build lab needs to rebuild everything. Individual developers only need to built their feature's DLL and EXE files.

    6. Re:What a waste of time and money! by JPriest · · Score: 4, Interesting
      "trying to co-ordinate anything would be a managerial nightmare!"

      Imagine how hard it must be to co-ordinate a project that big without "management". I think Linux could gain by creating a kind of unofficial management structure to better co-ordinate some of the projects.

      --
      Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
    7. Re:What a waste of time and money! by Anonymous Coward · · Score: 0

      Umm, yeah, that's why we have Redhat, Mandrake, Suse, etc.

    8. Re:What a waste of time and money! by Anonymous Coward · · Score: 0
      that would be a lot of people, but you're forgetting that Windows NT/2000 is a microkernel. People writing drivers don't step ontol the people writing command line utilities or the VM subsystem, or the GUI dlls.

    9. Re:What a waste of time and money! by douglas+jeffries · · Score: 1

      Lucovsky.ppt[33]: 10am and 10pm full synch and full build

      so they build in the night and in the day. twice a day 7 days a week.

    10. Re:What a waste of time and money! by cide1 · · Score: 2

      Thank you, this needed to be said. Developers do not recompile every object file when they build a new binary, only what has changed. The master build is only important so that every one is linking against about the same code, and there is one standard that is referred to as the teams output.

      --
      -- the computer doesn't want any beer, no matter how much you think it does. NEVER, EVER feed your computer beer.
    11. Re:What a waste of time and money! by Anonymous Coward · · Score: 0

      Yes, they all play a small part, but how well do they work together, could that be streamlined? Is there opportunity for other to offer help that don't work for RH or MDK? Aside from just picking a random OSS project on SF, where can I go to view some of the problems facing Linux and offer my time, research, and input on possible methods to tackle the problem. An operating system that complex requires more than just grabbing a couple of .c files and hacking away at them. Sure there is more too it than that, but all the time I read "rants" pointing out some very valid issues facing Linux, where is that information collected, organized, and sorted out based on what is important and practical and given to a group of researches to investigate? There are many good ideas passed by some of these small groups of project developers, what method do they have aside from "rants" to pass them up the chain for review and possible implementation?

    12. Re:What a waste of time and money! by dryopterix · · Score: 0

      And 1440 is a hell of a lot of people to be working on one project.

      I'm sure win2k would have been much better if they had had 37337 people on the team :-)

    13. Re:What a waste of time and money! by Gannoc · · Score: 2
      think Linux could gain by creating a kind of unofficial management structure to better co-ordinate some of the projects.

      I hear that often, but its just not true:

      Management Guy: "When is your part going to be done?"

      Programmer Guy: "I don't know, i'm playing Warcraft 3 this week. Whenever I get free time."

      Manager Guy: "Well everyone, we're going to have to move the schedule up a few days because of the Programmer Guy. Lets all try to remember we're on a team here." (clicks a few spots in MS Project)

      Programmer Guy: "Kiss my ass! Do it yourself."

      Volunteers == no firings/compensation == no enforceable deadlines == no reliable planning == no management possible.

    14. Re:What a waste of time and money! by Froqen · · Score: 1

      This is somewhat true, however it's been found that devs tend to under estimate the impact of their changes in terms of building other code, or two developers checking in changes to the same build each alone build fine, but together break. The result is that you build with a script that removes all the stuff not checked in and forces a full sync of all changes in the depot so far, then rebuild the entire depot. It doesn't take too long to build a depot, and it's an extremely automated process, so it doesn't take much actual dev time, plus alot of the postbuild steps are not done.

      Another way to look at it is the cost of each developer having to kick off a personal build is tiny compared to the daily build not comming out and not getting bug fixes verified, new bugs found, etc.

    15. Re:What a waste of time and money! by ebh · · Score: 1
      "Kiss my ass! Do it yourself."

      Didn't Birkoff say that to Operations once?

      ObTopic:

      Volunteers == no firings/compensation == no enforceable deadlines == no reliable planning == no management possible.

      I don't agree, at least for larger OSS projects. There are firings, in the form of your code never being accepted into the tree. Also, the loss of reputation can be pretty damaging, and the threat of that can be a good incentive to play well with others.

    16. Re:What a waste of time and money! by Anonymous Coward · · Score: 0

      Who said the point of the management team was to set deadlines?

    17. Re:What a waste of time and money! by dabootsie · · Score: 1

      The point of the management team is to cut enough resources, make enough changes, and consume enough developer time with meetings and status reports to ensure the deadline is no longer attainable. :)

    18. Re:What a waste of time and money! by JPriest · · Score: 1

      That would be the job of an 'official' management structure. But since you know, can you send me a link to where I can go to view these problems and help out then? Read my question again if you have to, yes they work great as small groups, but what methods do they have to raise issues. AFAIK this is the only way to present information. If there is a community dedicated to the collection and discussion of these and similar issues, I would love to go be a part of it.

      --
      Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
  5. read a book by johnjones · · Score: 5, Informative

    Show-Stopper!: The Breakneck Race to Create Windows Nt and the Next Generation at Microsoft by G. Pascal Zachary

    very funny about the head guy throwing chairs out of windows ( the phyical ones ironic really )

    and the black team....

    read it and Mythical Man-Month, and then you might have a small background

    regards

    john jones

    1. Re:read a book by selan · · Score: 2, Insightful

      I really enjoyed reading Showstopper. It's very well written and tells interesting stories about the people behind NT. I was surprised by the amount of work and testing that went into NT. Actually raised my opinion of the lowly Microsoft coders (not the brass, though). The book also goes into the sordid history of how Microsoft shafted IBM and OS/2 by making NT for Windows only. Very good read.

    2. Re:read a book by ch-chuck · · Score: 1

      I was surprised by the amount of work and testing that went into NT.

      Doesn't matter, it's still a piece of crap trying to do what a mature system was already doing for 30 years anyway. It made Msft bundles but is no boon for humanity, just taking advantage of a mass market that doesn't know crap from shinola. Everyday I still chuckle at the NT4SP6a event viewer where 'previous' moves ahead in time and 'next' goes back. But we learn to live with those little illogical computer issues so the mgmt can project their sheen and feel of "New! Improved!! Up to Date!!! Digital!!!" keeping up with the multibillionair rip-offs. For an elegant, intellectually satisfying system I have to use something else.

      --
      try { do() || do_not(); } catch (JediException err) { yoda(err); }
  6. 30 minutes by prof187 · · Score: 0

    "Most development done on i860 simulator running on OS/2 1.2 (took about 30 minutes)"

    to write the code? makes sense...

    --

    My other sig is an import.
  7. I guess they haven't read Fred Brooks. by Anonymous Coward · · Score: 0

    Adding manpower to a late software project makes it later.

    1. Re:I guess they haven't read Fred Brooks. by WaKall · · Score: 1

      If you read the whole book (Mythical Man Month), you'll find that he qualifies that by pointing out that some projects parallelize better than others. You can write the scheduling, GUI, and scsi drivers all pretty much separately, with non really affecting the other. That list can be expanded for sure.

      To be truly accurate, we'd have to correlate the increase in developers with the increase in unrelated new features - they're not throwing more developers at existing problems, they're throwing new developers at new problems, which is perfectly fine.

      Now, if a particular coupled set of features are late, throwing more manpower at them isn't necessarily a good idea.

  8. Good, but old. by blueroo · · Score: 0

    This has been around for some 2 years now. Plenty referenced, talked about, perused, this is old news. Most of us have known about this for a long time now.

  9. nope by johnjones · · Score: 2

    not really I suspect that they have a few tricks up their sleaves

    what would really be fun would be to know what version of the compiler they are useing

    win2k it was Visual C 6 I wonder if they changed for XP

    regards

    john jones

    1. Re:nope by josh+crawley · · Score: 2

      ---"not really I suspect that they have a few tricks up their sleaves

      what would really be fun would be to know what version of the compiler they are useing

      win2k it was Visual C 6 I wonder if they changed for XP"---

      It'd be kinda funny if MS compiled all their OS 'stuff' on their unix boxes with GCC.

    2. Re:nope by Random+Bystander · · Score: 1

      If they do, I guess someone forgot to mention the -O2 flag to them

    3. Re:nope by m_pll · · Score: 4, Informative
      Win2K was built using VC5. XP is VC7.

      You can see the linker version using this command:

      dumpbin %systemroot%\system32\ntdll.dll /headers

    4. Re:nope by Anonymous Coward · · Score: 2, Informative

      Windows isnt' built with Visual C++ whatsoever. MS uses a custom internal compiler pretty much designed for building Windows and nothing else. In fact, during the Win2K dev process I'm pretty sure they took 4-5 different compiler drops. It might be based off of VC (I honestly don't know) but I know for a fact that they do NOT use VC at all to build Windows.

      JD

    5. Re:nope by Anonymous Coward · · Score: 0

      They use a special version of the vc build tools, ( which has multithreading ) you can buy ( or used to be able to ) then but they are pricey. They used to ship this version with ia32/64sdk, they still might...

    6. Re:nope by dabootsie · · Score: 1

      I don't blame them. I wouldn't use Visual C++ for anything important, either.

  10. Did they use a big enough font? by Anonvmous+Coward · · Score: 4, Funny

    Geez, I run at 1600 by 1200 and I still had to scroll every 10 lines or so. I got people yelling at me down on the street because I read slow.

    1. Re:Did they use a big enough font? by Anonymous Coward · · Score: 0

      Who the fuck wasted mod points modding down an informative comment? This comment honestly helped me read the article better.

    2. Re:Did they use a big enough font? by Anonymous Coward · · Score: 0

      what mouse wheel?

    3. Re:Did they use a big enough font? by Anonvmous+Coward · · Score: 1

      One man's garbage is another man's +1, Funny.

      http://www.nanogator.com/pimpsmiley.gif

  11. "How Microsoft Builds" by southpolesammy · · Score: 2

    This reminds me of an old article with the name of this subject that came out around the mid-90's about Microsoft's sync-and-stabilize methodology. Really not a lot new here, save the amount of time they required to build their OS.

    --
    Rule #1 -- Politics always trumps technology.
  12. I've been on a project that had 8-hour builds. by Anonymous Coward · · Score: 0

    Of course that project was severely dysfunctional. Even at that, the Clearcase views were under ten gigabytes.

    (And before you snicker, the project was severely dysfunctional *before* I came on board.)

    1. Re:I've been on a project that had 8-hour builds. by EnderWiggnz · · Score: 1

      10 gigs of clear case design views? bleh...

      ewww...

      let me guess - the place you worked reminded you of office space?

      --
      ... hi bingo ...
  13. A recipe for disaster by sting3r · · Score: 0, Troll
    One need look no further than BUGTRAQ to see that Microsoft's efforts to produce a secure, reliable codebase have been met with unmitigated disaster. Microsoft products are the least secure, least reliable pieces of software in my entire company. Finally, in this article, we can see the design methodologies that have caused Microsoft to produce millions of lines of unmaintainable, buggy code. And we can apply that knowledge in future Open Source projects to prevent ourselves from falling into the same trap.

    Let's take a look at some of Microsoft's more questionable practices:

    • UML and other modelling fads. My former employer required the use of 65-page UML diagrams for the simplest command-line utilities. Why? Because it was popular, and the investors liked to make sure we were buzzword-compliant. UML is designed for non-technical audiences, and as such it flies in the face of the engineering goals it is designed to solve. What's good for the suits isn't necessarily good for the engineers.
    • Formal checkins. These stand in the way of progress like no other corporate "bad habit." Requiring programmers to have a supervisor (often a non-technical PHB) "sign off" on their code prior to the commit is ludicrous. Developer time costs $20-40 an hour - should that time be wasted pursuading co-workers to check in and approve their code, or should it be spent doing actual development?
    • Code review. Code review is a power trip and best, and a drain on morale at worst. If a programmer cannot be trusted to develop excellent code, he should be replaced with somebody who can. It's a tight labor market on the developers' side, so incompetent programmers should be spending their time reading O'Reilley books instead of playing games and looking at porn in their parents' basement.
    • Large, geographically concentrated development teams. The best work is emphatically not done by 1400 people in the Redmond campus. The best work is done by culling experts of individual niche areas from around the globe. Not surprisingly, this is the model that Linux and most Open Source software uses, and that is why OSS is phenominally successful compared with any of its proprietary competition.
    As my company has avoided these measures, it has produced a superior product for a very low development cost. I expect that other companies who apply the same techniques will also fare better than Microsoft did in this instance.

    -sting3r

    1. Re:A recipe for disaster by cpeterso · · Score: 2
      So your company's solution is:
      • "UML and other documentation is a fad. Code == design, dudez!! EXXXXTREME Programming R00LZZ!"
      • "Anyone can checkin at anytime, screw those other guys!" If developer time costs $20-40 a hour and your checkin breaks everyone's build, then that wouldn't cost time and money, would it?
      • "No one can tell ME what to do! I don't want anyone looking at my code!"
      • "Geographically decentralized team ensures that everyone is asleep when I have questions about their code. I guess I'll wait 12 hours for Hans to wake up."
    2. Re:A recipe for disaster by Real+World+Stuff · · Score: 1

      Free as in Beer UML Toolkit here

      --
      If we don't fight for ourselves no one will.
    3. Re:A recipe for disaster by plierhead · · Score: 5, Insightful

      I venture to guess, however, that your company is somewhat smaller than Microsoft, is held together by shared enthusiasm and the exilaration of short term releases, and that you don't face many of the problems that any large company, not just the Borg, does. I would never defend the quality of MS products but anyone who has worked on large products with many existing custoemrs in a large software company like an Oracle, Microsoft or IBM will understand that it is simply impossible to only hire expert programmers whose work never needs to be checked by anyone else and who don't need any supervision.

      Some of your other statements are rather sweeping. Some parts of UML - such as object modelling - are very useful indeed and can act as highly rigorous sources for a lot of code and database generation or automated access. Others (like Use cases IMHO) suck and are of little use to programmers, though more in communication with PHBs and business types.

      A lot of what you say is very true for small focused teams working in their bedrooms/garages/garretts but much less so for any large software developer who sells software for money. Your "expert-driven" approach would never work at a Microsoft.

      Your last point, that OSS produces better results, is probably true. Certainly its more cost-efficient. But does it produce profitable companies that make heaps of money ? Maybe you don't like the idea of that. But most of the rest of the world, including your gray-haired neighbour who plans to retire on the proceeds of his portfolio, does.

      --

      [x] auto-moderate all posts by this user as insightful

    4. Re:A recipe for disaster by MAXOMENOS · · Score: 5, Insightful

      UML and other modelling fads. My former employer required the use of 65-page UML diagrams for the simplest command-line utilities. Why? Because it was popular, and the investors liked to make sure we were buzzword-compliant. UML is designed for non-technical audiences, and as such it flies in the face of the engineering goals it is designed to solve.

      I've found UML, or at least quasi-UML, useful; any time I design a system I draw a quick UML sketch just to help me think about what's invovled. Unless, that is, it's something really dead simple .. something equivalent to a homework assignment. Sometimes most of the really hard work goes into a good UML diagram, and the rest becomes easy.

      But despite this, I can't help but reflect on your statement in utter horror. What the hell kind of UML diagram does one put together for, say, ls? Or cd? Or a numerical calculation?

      Code review. Code review is a power trip and best, and a drain on morale at worst. If a programmer cannot be trusted to develop excellent code, he should be replaced with somebody who can. It's a tight labor market on the developers' side, so incompetent programmers should be spending their time reading O'Reilley books instead of playing games and looking at porn in their parents' basement.

      I disagree with you on two fronts. One, I've always found code review beneficial for a project. Weaker coders learn good habits; stonger coders teach good habits; bugs not visible to some become visible to others; the general quality of code improves. People who can't deal with constructive criticism of their code make for bad team-mates.

      Secondly, I've never met anyone who became a good programmer by reading books, even books as high quality as O'Reilly's. I learned to code by writing code and reading others' code. The books make handy references, but sticking to books is akin to trying to learn to write well by reading the dictionary.

      Large, geographically concentrated development teams. The best work is emphatically not done by 1400 people in the Redmond campus. The best work is done by culling experts of individual niche areas from around the globe. Not surprisingly, this is the model that Linux and most Open Source software uses, and that is why OSS is phenominally successful compared with any of its proprietary competition.

      Most of Microsoft's problems can probably be directly attributed to the size of its development team. MS project designers might do well to re-read The Mythical Man-Month (if they never read it, they have no business being project designers, IMO).

    5. Re:A recipe for disaster by WaKall · · Score: 2, Insightful

      I think you're way off-base on the Code Review comment. At my job, code reviews take roughly 3-5% of the time I spend writing code, and very often find problems (in having my own code reviewed, or reviewing someone elses code).

      And even if no bugs are found, it helps to have another pair of eyes go over code for readability. It may make sense to you, but it may not to someone else. When you leave and that code needs fixing, NOBODY will understand it because they don't have preconceived notions about how it operates.

      The BEST thing you can do to improve quality of code, and of your developers, is to code review before every checkin. Find someone who is more/as intelligent as you, and have them scour your code while sitting next to you. At worst, they'll understand the code. At best, you'll find a bug before it goes out there, or you'll learn something new about the language/library you're using that you didn't know before.

    6. Re:A recipe for disaster by marick · · Score: 5, Insightful

      # Code review. Code review is a power trip and best, and a drain on morale at worst. If a programmer cannot be trusted to develop excellent code, he should be replaced with somebody who can. It's a tight labor market on the developers' side, so incompetent programmers should be spending their time reading O'Reilley books instead of playing games and looking at porn in their parents' basement.

      No, no, no. Code-review is VERY USEFUL. No, it won't catch architecture mistakes (necessarily). No, it won't catch design mistakes. Hopefully you already know how to design before you get your first software job.

      What code-review catches is the annoying things that the best developers tend to think don't matter so much. Style-differences from company practices. Naming conventions not being followed. Poorly chosen variable-names. Lack of documentation.

      In short, code-review makes your code more maintainable. Your company may not use it, but that doesn't make it useless.

    7. Re:A recipe for disaster by Anonymous Coward · · Score: 0

      1. That's not a rebuttal.
      2. A programmer who can't be trusted to check his own code should be fired anyway. It's a simple skill.
      3. That's not a rebuttal.
      4. The thing about software development is that there's too much programming. I don't mean that it should be UML or anything formalised, but I think people should let the idea sit on their mind for a while.

    8. Re:A recipe for disaster by glwtta · · Score: 2

      Even if that's 12 hours a week, Hans is just NOT a programmer. ;)

      --
      sic transit gloria mundi
    9. Re:A recipe for disaster by Axe · · Score: 2, Informative
      UML and other modelling fads I would not lump all modeling tools into FAD category. 65-page design is excessive - couple clear diagrams, in whatever standard you like will make wonders in your OWN understanding, of what you are about to write, allow you to communicate clearly with other team members. Visualizing is good.

      Formal checkins. Make you own branch and go butt nutty in it. Sync to the trunk often. Let them review your changes and integrate on their own pace. Code review. Once again - having anybody - even inferior programmer to look over your code will do wonders to your own understanding and skills. I am a good coder, and I beg other people to review and comment. The more I ask - the less problems they find - I am getting better. I hope you do not assume that you have no way to improve - otherwise: you are a big fat liar. My goal is to write code so clear that they can understand what and how it does without my help. Large, geographically concentrated development teams. That one I would agree. Adding people slows everything down. Full team should not be above 20 engineers, and some QA - above that, keep splitting projects. If you think it is not possible - you are a lousy architect.

      --
      <^>_<(ô ô)>_<^>
    10. Re:A recipe for disaster by Anonymous Coward · · Score: 0

      OK, so the guy does not mince his words, but a Troll?? If so, exactly which of his points is unfounded - the geographical one is a little pointless, but the other 3 are just, well, correct!
      I say mod parent up

    11. Re:A recipe for disaster by Axe · · Score: 1

      2. Bullshit. You never know all the effects that your change may cause. Make you own branch, synch it to the trunk - and let architects and the build team integrate it on their own pace. Good programmers are not arrogant.
      4. Yup. I allocate 60% of my time for design and analysis. It turns out better then people who code 90% of the time.

      --
      <^>_<(ô ô)>_<^>
    12. Re:A recipe for disaster by Anonymous Coward · · Score: 0

      But does it produce profitable companies that make heaps of money ? Maybe you don't like the idea of that. But most of the rest of the world, including your gray-haired neighbour who plans to retire on the proceeds of his portfolio, does.

      One of these days people are going to realize that you can't develop extremely complex, high quality software, in a short period of time.

      It doesn't matter how many programmers you throw at it, in fact that can easily make things worse instead of better.

      Traditional marketing strategies (ie, throw together a basic plan real quick and set a deadline for the engineers to complete the essentials in a "working" form) aren't compatible with truly high quality software.

      Don't believe me? Then why are there 19 unpatched public vulnerabilites in IE right now? These were found without the source. Imagine what you would find if you had it. Peer review for complex software is _essential_.

      I don't know about you, but I'd prefer to know the software that I use was built with quality in mind , and not some profit margin/deadline.

    13. Re:A recipe for disaster by dinotrac · · Score: 2

      One, I've always found code review beneficial for a project. Weaker coders learn good habits; stonger coders teach good habits

      There is code reveiew and there is code review. I tend to take a very sour view of formal code review meetings, except under special circumstances: Better understanding problem code, guiding new programmers (and, even then, I'm not sure) and carefully reviewing things that a) have to work very well and b) must be very well understood by those whose code will interact with them.

      Formal code reviews, unless managed very well by a competent and confident moderator, can easily degenerate into "See what I know!" fests whereby lots of folks who haven't lived and died with a problem pile on the person who has.

      Formal code reviews often have an unintended consequence: they can (not must, but can) reduce the level of informal review, coordination and help that takes place. You know what I'm talking about : "Leave me alone, kid. I've got my own schedule to meet. Besides, that's what the code review is for."

      Informal code reviews -- "Hey Jack, take a look at this, would you?" should be happening all of the time. Some managers (and developers) may believe that time spent huddled over a terminal together is half as productive as time spent alone in front of a terminal, but nothing could be further from the truth.

    14. Re:A recipe for disaster by startled · · Score: 4, Interesting

      We have an automated script to take your changed files and copy 'em over to a share. Then we send out an e-mail to the team (small) and say it's going to be committed soon. One person is assigned "primary", and must look at it; everyone else can optionally.

      It doesn't take much time, but it's only the smallest CRs that get away without at least a few changes. Sometimes it's just comments, sometimes it's a better way to do something. At the least, everyone has a better idea what's going on in code they're not in right now, but very well might be in the near future. An added benefit is that people who see CR coming clean up their code a bit more than usual.

      I agree-- formal CRs suck in most cases (although some critical apps developers like them for some bits of code that might, say, kill someone if they malfunction, or that take $10,000 to test). But the e-mail deal works really well for our team. But we don't have any assholes or know-it-alls, so that helps.

    15. Re:A recipe for disaster by RisingSon · · Score: 1

      Most of Microsoft's problems can probably be directly attributed to the size of its development team. MS project designers might do well to re-read The Mythical Man-Month

      Another good one is Software Craftmanship. The book attempt to debunk Software Engineering for "small" project (projects under 1,000 man years). Its a quick read and brings up some good points. I really like the craftsman model, but I dunno if it would ever catch on in the corporate world. Definitely not at Microsoft.

    16. Re:A recipe for disaster by cant_get_a_good_nick · · Score: 5, Informative

      The proper care and feeding of trolls...

      Eitehr you're a troll, or you've never done any real development.

      UML, can't comment on. Never did any. What I can say is that design is important, and shooting from the him on 20million lines of code won't get you very far. If UML helps you design, use UML.

      Formal checkins. In large complex projects, you need to be absolutely sure about your units. So many places for things to interact, if you don't have them as solid as you can get it, you'll get so many interaction bugs you'll never get anything done.

      Developer time costs $20-40 an hour. Ha, now I know you've never done real programming. Developer wages start maybe at $30/hr (not $20), up to $100/hr at spots. Thats just wages, not benefits, taxes all that stuff. If you have no experience in big projects, don't talk.

      Code review Code review is easily the best way of debugging. Study after study find that Code reviews find more bugs per unit of time than any other technique. as side benefits, it also transmits techniques from developer to developer. This comes from developers who want to learn and 1) too shy to ask 2) don't know that there is a better way. I learned something in code reviews, some techniques I never thought of.
      Can it be a power trip? yeah. CAn it lead to a clash of egos? yeah, but thats up to the review lead to control. A good review lead will keep that in check.

      Large, geographically concentrated development teams
      Not surprisingly, this is the model that Linux and most Open Source software uses
      They have no option because they can't pay developers, so no chance to get them in a concentrated area. There are plusses and minusses with the concentration.
      why OSS is phenominally successful compared with any of its proprietary competition
      Sales? No contest. MS.
      On what definition of success? Bugs? I've seen some really shitty OSS software. yes, the kernel is high quality, Apache, FreeBSD, others.

    17. Re:A recipe for disaster by Gumber · · Score: 2

      I would never defend the quality of MS products but anyone who has worked on large products with many existing custoemrs in a large software company like an Oracle, Microsoft or IBM will understand that it is simply impossible to only hire expert programmers whose work never needs to be checked by anyone else and who don't need any supervision.

      Not to mention that any such company has a responsibility, driven by enlightened self-interest, to turn Jr. programmers into expert programmers.

    18. Re:A recipe for disaster by Beryllium+Sphere(tm) · · Score: 1

      >The best work is done by culling experts of individual niche areas from around the globe

      No argument.

      Take a walk around the Redmond campus someday and look at the people. They are from around the globe.

      Whether they're the best depends on whether Microsoft has invested the money to hire the best. That's harder when the stock isn't constantly going up, of course. Also depends on the hiring manager being able to recognize the best.

      But it's theoretically possible for something the size of Microsoft to do exactly what you recommend, by the brute-force method of paying people to move to the Redmond area.

    19. Re:A recipe for disaster by xbytor · · Score: 1
      I have to disagree with one point. Code review is often the only way to find architectural/design problems. A programmer may have designed a component in one way but, for whatever reason, had to implement differently. They may even mis-remember what they did after a couple of weeks. The Source doesn't lie. The Source is the One Truth. Comments lie. That's why they call it code review, not comment review.

      BTW, I'm ranting because I just spent 20+ hours tracking down a bug in code with incorrect comments and docs. I need some sleep.

      ciao

    20. Re:A recipe for disaster by DuranDuran · · Score: 4, Insightful
      > Code review is a power trip and best, and a drain on morale at worst.

      Can you see the spelling error you made in this sentence? Did you mean to make that error?

      If you can't even type error-free prose, how could you be expected to create error-free code?

      People make errors. Code review helps reduce the effect of those errors.

      --
      "You can justify anything by putting it in quotes, adding a famous name and making it a sig" - Albert Einstein
    21. Re:A recipe for disaster by ClosedSource · · Score: 1

      ".. it is simply impossible to only hire expert programmers whose work never needs to be checked by anyone else and who don't need any supervision."

      There are no such programmers.

    22. Re:A recipe for disaster by Anonymous Coward · · Score: 1, Informative
      Secondly, I've never met anyone who became a good programmer by reading books, even books as high quality as O'Reilly's. I learned to code by writing code and reading others' code. The books make handy references, but sticking to books is akin to trying to learn to write well by reading the dictionary.

      ORA books will teach you part of a particular API. If you want to read books that teach good coding techniques try Addison Wesley. Take titles such as: Effective Java, Effective C++, Refactoring, Design Patterns, Distributed systems Concepts and Design. Only the Per and X books come close. (I don't consider the Unix books pregramming books per say.)

    23. Re:A recipe for disaster by ClosedSource · · Score: 1

      "What code-review catches is the annoying things that the best developers tend to think don't matter so much. Style-differences from company practices. Naming conventions not being followed. Poorly chosen variable-names. Lack of documentation.

      In short, code-review makes your code more maintainable."

      Out of all the items you mention, only the lack of documentation seems really important. The rest smacks of xenophobia. I don't buy into the common myth that style and naming conventions are critical to maintainability. Anyone who can read a complicated C declaration isn't going to have any problem with non-politically-correct variable names or different styles. Style is arbitrary but functionality is not. If the code review process doesn't consider program correctness, it's a waste of time.

    24. Re:A recipe for disaster by Anonymous Coward · · Score: 0

      O'reilly doesn't have any programming books. Unless you count "Sed & Awk".

    25. Re:A recipe for disaster by mcjulio · · Score: 1

      Fuck, my morale is in the shitter now, just from reading that. Thanks a lot, power-trip man.

    26. Re:A recipe for disaster by petis · · Score: 2
      Code review is easily the best way of debugging. Study after study find that Code reviews find more bugs per unit of time than any other technique
      If I recall correctly, you get back on average 20x the invested time in quality assurance using code review. (As compared to not having code review but using the same testing procedure, checkins etc and fixing the bugs as you find them during testing).

      Can't find that book on software quality where I read this, would love to give a reference to research on this subject.
    27. Re:A recipe for disaster by jeremyp · · Score: 2

      OSS is phenominally successful compared with any of its proprietary competition

      Tell me again which OS runs on 90% of desktop PCs around the World.

      As my company has avoided these measures, it has produced a superior product for a very low development cost.

      Is it even 1/100th of the size and complexity of Win2K or any Linux distro?

      Code review is a power trip and best, and a drain on morale at worst

      You weren't doing it properly. If the coder is less than perfect, it will help to improve both the coder and the code. If the coder is perfect, it'll help improve the coding of the reviewers (who naturally are programmers themselves, not management types).

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    28. Re:A recipe for disaster by Anonymous Coward · · Score: 0

      As a certifiable grey-haired lurker, let me point out that I'm reluctant to allocate much of my retirement portfolio to one country, much less one sector, and least of all to a handful of unstable monopolies.

      On the other hand, I'm pretty confident that OSS will help to float all boats and will contribute impressively to the health of the world economy and the growth and stability of the broad indexes.

      That a given sector may represent an industry that will change our lives and stimulate economic growth doesn't mean it is, in itself, a pot of gold. Whether money is made FROM an industry or WITH it is less important than how well functions in the economy. (Cf. the history of railroad stocks, or the net profitability of the airline industry.)

    29. Re:A recipe for disaster by bobaferret · · Score: 1

      Developer time costs $20-40 an hour. Ha, now I know you've never done real programming. Developer wages start maybe at $30/hr (not $20), up to $100/hr at spots. Thats just wages, not benefits, taxes all that stuff. If you have no experience in big projects, don't talk.

      Um some of us don't work on the cost or in Big cities...For my area I get paid quite well, and I'm most definatly in the 20 - 40 range. Unless I'm being pimped out to do consulting...then it's 100/hr for the company.

      just a thought.

    30. Re:A recipe for disaster by marick · · Score: 2

      The rest smacks of xenophobia. I don't buy into the common myth that style and naming conventions are critical to maintainability.

      Seriously, some people use crappy style and variable names. At my last job, someone had written this complicated function using variables like: s1, s2, s3, d1, etc. It made it very difficult to figure out his code, and eventually, I had to change all the names just so I'd be able to read the code a month later.

      It's much easier to fix bugs in someone else's code if you can read it. If you can't, you're screwed. You can call it xenophobia if you'd like, but honestly, I'm expressing my experience.

      Anyone who can read a complicated C declaration isn't going to have any problem with non-politically-correct variable names or different styles.

      Good straw-man. My problem isn't with non-politically-correct variable names (functionToFixBugInLinux() ). My problem is with unintentionally obfuscated code.

      Style is arbitrary but functionality is not. If the code review process doesn't consider program correctness, it's a waste of time.

      About program correctness: most of the time it's not worth the time required. And no, I'm not talking about security or crypto or compression or anything like that. Those sections of your code should be provably correct. But proving the correctness of your little GUI app is just silly.

      On the other hand, style may be arbitrary to you, but for me, style is very important. The parts that bother me are when someone has written a bunch of button code with names like "b1, b2, b3". Or logic like a=((a=read(n)-4)?(b+5):(b+3)). Even if it works now, it will never be maintainable later.

    31. Re:A recipe for disaster by Anonymous Coward · · Score: 0

      bollox...you may be certifiable but i think you ain't a gray-haired lurker..and if you are, how's yer portfolio looking now after investing in linux shares instead of "unstable monopolies" like microsoft ???

    32. Re:A recipe for disaster by ClosedSource · · Score: 1

      It sounds like what you're asking for is very light style requirements which I don't disagree with. Variable names should be meanful, but I don't think it matters much if some programmers use functionToFixBugInLinux() while others use another_function_to_fix_bug_in_linux. Unfortunately, people are often more concerned with this issue than they are with obfuscated code.

      As for program correctness, I didn't say that it should be proven but that it should be considered. That is, reviewers should look for problems the programmer may have missed. Obfuscated code will come to light and be discrouraged as part of this process since the programmer will have to expend considerable energy explaining what the code does.

      The bigest problem I have with code reviews based on style is that they can provide the illusion the someting has been done to make the code better. Sometimes it's better to do nothing than to do something simply because it's easy.

  14. Single point of failure by PingXao · · Score: 5, Insightful
    1 defect stops 1400 devs, 5000 team members!
    I would think this would lead to a situation where CYA would become a way of life. Sure, even the best developers will make an occasional mistake. The document notes that a successful culture needs to recognize that mistakes will happen, but if ONE defect is going to shut down 5,000 people, I know I wouldn't want to be the one everybody is pointing their fingers at. I can imagine the circus atmosphere when the blame-shifting and the search for the guilty goes into high gear.
    1. Re:Single point of failure by gwernol · · Score: 5, Insightful

      I would think this would lead to a situation where CYA would become a way of life.

      I don't think so - he's talking about buiuld brreaks (i.e. code that won't compile). These are automatically detected and the culprit is auto emailed. Under source code control there is nowhere to hide from this because you know whose code broke the build.

      The only CYA you can do is not check in broken code. This is a good thing :-)

      Runtime errors don't stop 5000 team members.

      --
      Sailing over the event horizon
    2. Re:Single point of failure by WaKall · · Score: 2, Insightful

      With proper branching in your source repository, you can isolate different areas of change, and thus keep build breakages limited to subsets of developers.

      With regards to isolating who broke a build, that would require a clean build for each and every checkin, which just isn't practical in terms of hardware resources. A more practical solution is to grab tip, build, if fail -> indicate all checkins since last green build. This gives you a bigger culprit set, but it's MUCH cheaper in terms of hardware.

    3. Re:Single point of failure by gwernol · · Score: 3, Insightful

      With proper branching in your source repository, you can isolate different areas of change, and thus keep build breakages limited to subsets of developers.

      Agreed, and we know that their SCCS was broken in this respect.

      With regards to isolating who broke a build, that would require a clean build for each and every checkin, which just isn't practical in terms of hardware resources. A more practical solution is to grab tip, build, if fail -> indicate all checkins since last green build. This gives you a bigger culprit set, but it's MUCH cheaper in terms of hardware.

      Again going back to the article, we're talking about their daily builds, which will be clean. The compilers will spit out failure information that can be easily traced back to the culprit.

      This is how many large (i.e. OS-sized) projects work - regular clean builds, usually once per day, with auto emailing of break information to those responsible. One group I worked in also required you donate some chocolate to a central "fund" available to all the engineers when you broke the build. A fun way of encouraging people to compile against clean sources before checking in.

      --
      Sailing over the event horizon
    4. Re:Single point of failure by DJ+Uptime · · Score: 1
      Runtime errors don't stop 5000 team members.

      Sure they do, if the team is running NT.

    5. Re:Single point of failure by DJ+Uptime · · Score: 1
      One group I worked in also required you donate some chocolate to a central "fund" available to all the engineers when you broke the build. A fun way of encouraging people to compile against clean sources before checking in.

      Sounds more like a way to encourage the team to hire more inept programmers.

    6. Re:Single point of failure by Anonymous Coward · · Score: 0

      Runtime errors don't stop 5000 team members.

      you haven't used windows, have you?

    7. Re:Single point of failure by Anonymous Coward · · Score: 0

      Actually a lot of runtime errors stopped my team (Visual Studio), which is also very large. The problem is that there are a lot of smoke tests that we are supposed to run before checking in. However, most of the devs don't feel like sitting through 30 minutes of tests just to check in a two line change.

      Unfortunately, once in awhile one of those two line changes comes back to bite you in the ass. You might have one breakage in the course of a month, but when there are 30 people on your subsection of the project doing the same thing... you can see where it becomes a problem.

  15. How is this news? by Anonymous Coward · · Score: 0

    This is really not juicy or secret information. This is the kind of thing you learn (in a particularly boring lecture) in a software engineering class.

  16. not a troll by johnjones · · Score: 2, Informative



    show stopper from

    when has been recomending books on the subject a troll (and it was done by someone with unlimted .... )

    1. Re:not a troll by Anonymous Coward · · Score: 0

      I hope I get to meta-moderate whoever gave that comment a "Troll" rating. Anyone who would do that is utterly without clue.

  17. Only 8 hours? by guttentag · · Score: 1, Troll
    Complete build of win2k time is 8hrs on 4way PIII and requires 50GB of hard drive space...
    Only 8 hours to build the complete Win2K? That's pretty impressive, considering that every piece of software Microsoft develops is "part" of Windows... or does the 8-hour figure refer only to what we consider to be Win2K?
    1. Re:Only 8 hours? by Anonymous Coward · · Score: 0

      Maybe if they took out Internet Explorer they could cut it down to 4 hours :-)

    2. Re:Only 8 hours? by targo · · Score: 1

      You also have to take into account that this probably includes building both ship and debug, and assembling all the resource files for all the different languages in which Windows ships.
      So yes, 8 hours is not too bad, especially since a regular developer would only build the part that s/he needs.

  18. only takes up 50gb by Anonymous Coward · · Score: 0

    I'd love to have that build

  19. Actually quite strange by rmassa · · Score: 2, Insightful

    I'm a linux user, but most MS people I know hail win2k as the best microsoft OS ever. So this presentation seems to be kind of strange, pointing out things (increased build time, developers/testers) that illogically seem to create a better OS.

    1. Re:Actually quite strange by Anonymous Coward · · Score: 0

      Good point

    2. Re:Actually quite strange by Anonymous Coward · · Score: 0

      Compared to win95 and perhaps NT4, yes, win2k is the best. But the version claimed to be the best by the few people who actually used it, is NT 3.5(1)

    3. Re:Actually quite strange by Anonymous Coward · · Score: 1, Insightful

      What exactly is illogical?

      That compiling 9M LOC (NT3.51) took less time than compiling 29M LOC (W2k)?

      Or that scaling to 1200 developers demanded some changes in the process management?

      In case you didn't notice, that was an article about software engineering, not about software politics, OS wars or stuff like that. No every comp related article on /. has to be about that.

      Although you can probably be forgiven for thinking so.

    4. Re:Actually quite strange by Anonymous Coward · · Score: 0

      i agree. win2k is the best Microsoft OS ever.

      xp is just too cluttered with eye candy. win2k is the only MS OS that i use (unless the occasional 98se/xp is unavoidable)

    5. Re:Actually quite strange by Zordak · · Score: 2, Interesting
      but most MS people I know hail win2k as the best microsoft OS ever.
      I use UNIX and its clones when I can, but I have to say that when I am forced to use a Microsoft OS, Win2K is refreshingly good. It's still Windows, so there are some design aspects that really bug me still, but it is quite stable and usable otherwise. It's also probably the only decent OS they ever will make, since XP is crap from the UI down and now they are into all of this .NET subscription services and Palladium crap. Win2k just happened to fall into that tiny slot between when MS finally figured out how to make a semi-functional OS and when they got beyond paranoid with their IP. Still, given a choice, I'd much rather use UNIX or Linux.
      --

      Today's Sesame Street was brought to you by the number e.
    6. Re:Actually quite strange by rmassa · · Score: 1

      If you look at the slides the presentation is basically comparing the development process between NT 3.5 and win2k, and illustrating how less efficient and bulky the process was. The presenter seems pretty biast that the "NT 3.5 way" was much better than the "Win2k way" even though most people find win2k as the better operating system. This is the point that I am making.

  20. 8 hours? by hatrisc · · Score: 4, Funny

    it may have taken 8 hours, because they had to reboot twice.

    --
    I write code.
  21. standard linux praise... by skydude_20 · · Score: 1

    Complete build of win2k time is 8hrs on 4way PIII and requires 50GB of hard drive space
    Is it just me or doesn't something just as strong at Win2K, say like Linux, not take quite as much to build?

    I think I'll go compile a kernel now...

    --
    Jesus saves souls and redeems them for valuable cash prizes
    1. Re:standard linux praise... by DeepZenPill · · Score: 2, Insightful

      I sorta doubt that 8hrs was spent only compiling the win2k "kernel." Don't forget that the GUI, networking and a ton of other crap is built in. I'm sure compiling an entire linux system consisting of apps equivalent to those which are built into windows would take a hell of a lot of time too.

    2. Re:standard linux praise... by nvrrobx · · Score: 1

      Go install Gentoo and compile the entire system from scratch, including, but not limited to, GNOME and KDE.

      See how long that takes.

    3. Re:standard linux praise... by Brad+Wilson · · Score: 1

      A proper comparison would be building the Linux kernel, the GNU utilities, XFree86, KDE, a browser, a media player, an e-mail program, etc...

    4. Re:standard linux praise... by skydude_20 · · Score: 1

      on a 4way PIII with 50GB available?

      --
      Jesus saves souls and redeems them for valuable cash prizes
    5. Re:standard linux praise... by sparkz · · Score: 2

      Try linuxfromscratch.org. Okay, it's to get a personalised build, not a CD installation, but my Celeron433/196MB was running solid for well over 24h to build a whole system. Probably more like 36h, certainly took about 3 days (though obviously I couldn't always co-ordinate it to be busy all the time I was asleep, only X, etc, take that long!)

      --
      Author, Shell Scripting : Expert Re
    6. Re:standard linux praise... by Anonymous Coward · · Score: 0
      and wine. And libc. (When I recompiled that 3-4 years ago, it took all night).

      Also, Windows 2000 includes 10-20 times as many drivers as linux.

    7. Re:standard linux praise... by Anonymous Coward · · Score: 0

      dude, go get gentoo (gentoo.org) and build your own complete linux system from the ground up. it takes about as long to compile if you include everything that makes it have features equivalent to win 2k. (XFree86, kde, samba, tons of libraries, etc).

      that is perfectly normal for a large project build time. its also the reason for good build tools with correct dependency checking and resolution. when working on a small part, you should not need to rebuild from scratch to test your change.

    8. Re:standard linux praise... by Anonymous Coward · · Score: 0

      but my Celeron433/196MB was running solid for well over 24h

      i believe the article said that compiling Win2k took 8 hours on a 4 way Xeon with 50GB of disk space available and 512MB of RAM. Now 4 550 processors crunching away at compiling (compilig is easy to thread among cpu's) is a lot different than a celeron 433 crunching away one the same thing. Heck my 1.2ghz athalon compiles Gentoo (everything compiled, nothing in packages) in under 5 hours, and that's including the base system, kde 3.0, Gnome 2, xmms, xine, mozilla, and a bit more.

    9. Re:standard linux praise... by Anonymous Coward · · Score: 0

      Does gentoo build gcc and glibc too?

    10. Re:standard linux praise... by jcast · · Score: 0, Troll

      Although W2K doesn't have anything half as good as most of the GNU utilities.

      Moderators: I admit this is a troll, but it's against M$. Please mod accordingly.

      --
      There are reasons why democracy does not work nearly as well as capitalism.
      -- David D. Friedman
    11. Re:standard linux praise... by FueledByRamen · · Score: 1

      I compiled Wine (and WineX, later on) in under 10 minutes on a lowly Tbird 1400 w/ 256mb DDR. Full compile - make clean all install

      --
      Every cloud has a silver lining (except for the mushroom shaped ones, which have a lining of Iridium & Strontium 90)
    12. Re:standard linux praise... by norwoodites · · Score: 1

      gcc takes about 2 hours w/o the test suite but with it takes about 6 hours. Now that is bad but then again it is running the test suite which is large.

    13. Re:standard linux praise... by user32.ExitWindowsEx · · Score: 1

      That took me 8 hours on a 1-way T-bird 1.2 GHz with 896 MB RAM.

      --
      "Evil will always triumph because good is dumb." -- Dark Helmet
    14. Re:standard linux praise... by _Knots · · Score: 1

      Depends on the starting stage. Stage 1 is literally a minimum system that builds absolutely everything. Stage 2 has GCC and some other things (IIRC) built, and stage 3 has a prebuilt base system of the more common packages.

      Only sure about stage 1 (it's what I did on my gentoo box) and yes, it builds GCC and Glibc. And yes, it takes a long while.

      --Knots

      --
      Anarchy$ dd if=/dev/random of=~/.signature bs=120 count=1
    15. Re:standard linux praise... by Waffle+Iron · · Score: 3, Funny
      Depends on the starting stage. Stage 1 is literally a minimum system that builds absolutely everything. Stage 2 has GCC and some other things (IIRC) built, and stage 3 has a prebuilt base system of the more common packages.

      All for wimps. I always start from stage -3. This means no machine-readable media whatsoever and a blank system EPROM. Nothing but source code printouts.

      After 36 hours of entering bootstrap code via a bank of toggle switches, you can get to stage -2 (TTY keyboard and video on a temporary BIOS). After this, you've still got a long road to hoe before you get to a login prompt. It's well worth it though, if you want to know exactly what your system is running.

    16. Re:standard linux praise... by Anonymous Coward · · Score: 0

      etc shouldn't take that long.

  22. Showstopper! by jkujawa · · Score: 2, Informative

    "Showstopper!" was fascinating. David Cutler really is a genius. NT had the potential to be a truly great operating system. I would have loved to have gotten a chance to play with it before they bolted win32 on top of it. Everyone who has the slightest interest in operating systems should read Showstopper.

    1. Re:Showstopper! by eyeball · · Score: 2, Informative

      You want NT without Win32? It's called VMS :)

      --

      _______
      2B1ASK1
    2. Re:Showstopper! by Verizon+Guy · · Score: 1

      I would have loved to have gotten a chance to play with it before they bolted win32 on top of it.

      And I want Linux without GNU.

      --

      Aw, fuck it. Let's go bowling. - The Big Lebowski

    3. Re:Showstopper! by Anonymous Coward · · Score: 0
    4. Re:Showstopper! by Anonymous Coward · · Score: 0

      Write it yourself then, fuckhead.

    5. Re:Showstopper! by Anonymous Coward · · Score: 0

      "I would have loved to have gotten a chance to play with it before they bolted win32 on top of it"

      1) Microsoft copies MacOS to create Win16 API
      2) Microsoft sells Win16 to IBM -- who insists on making it incompatible with Win16. End result is OS/2 1.x API
      3) Microsoft and IBM develop OS/2 2.0 API based on OS/2 1.x.
      4) Original plan is to "bolt" OS/2 2.0 API on NT
      5) Microsoft changes OS/2 2.0 API back to being similar to Win16 because Windows was popular and OS/2 wasn't. Calls result Win32. IBM goes off alone with OS/2 2.

      Win32 and OS/2 2 were pretty much two peas in the same pod. There never was a "before" when NT had some wonderful Unix-like API.

    6. Re:Showstopper! by Waffle+Iron · · Score: 2
      And I want Linux without GNU.

      I doubt you were serious, but that actually is a very good idea. Replace (or augment) decades of UNIX baggage with a clean, modern, easy-to-use UI and tooset, but keep the Linux platform compatibility and device drivers.

      In a nutshell, it would be like OS X, but with cheap hardware, and without black turtleneck sweaters.

      It's too bad that there would never be critical mass to get such a project started.

    7. Re:Showstopper! by Anonymous Coward · · Score: 0

      I could handle the turtlenecks, and wouldn't actually mind the hardware, PPC is worth the price, and could even endure the chassis, if you could get an OS X without the ugly UI. Yeah, I know, Yellow Dog or NetBSD, but that's not what I meant.

    8. Re:Showstopper! by Anonymous Coward · · Score: 0

      Sorry, I dont think i know what u mean...

  23. No Wonder by johann909 · · Score: 0

    "Complete build time is 8 hours on 4 way PIII Xeon 550 with 50Gb disk and 512k RAM"

    No wonder this pup took so long to build, all that hard drive swapping...

    hehehehheh jk

    1. Re:No Wonder by johann909 · · Score: 0

      i saw someone get 5 karma points for a post similar to this after mine... you moderaters are real morons. slashdot sucks

  24. Old news... by Anonymous Coward · · Score: 5, Informative

    Guys, the PowerPoint slides for the Lucovsky presentation has been publicly downloadable for almost 2 years. I always find it sad when Slashdot reports something old as something new.

    Go get the slides at http://www.usenix.org/events/usenix-win2000/tech.h tml

    1. Re:Old news... by inkfox · · Score: 3, Insightful
      Guys, the PowerPoint slides for the Lucovsky presentation has been publicly downloadable for almost 2 years. I always find it sad when Slashdot reports something old as something new.
      It was still probably news to most here. And it's interesting. Both make it a good story.
      --
      Says the RIAA: When you EQ, you're stealing bass!
    2. Re:Old news... by Anonymous Coward · · Score: 0

      Geezus, new karma whoring system. Act like Wayback machine, bitch about how old is REFERENCED information is, get +5.

      Bitching about this stupid geek whoring will make me +something too, so to stay away from being called that way,I post as a AC. :-)

      Believe, we are MORE bored from people w/ attitude like you than seeing "old" stuff on Slashdot!

  25. Maybe they have underclocked the machine by Anonymous Coward · · Score: 0

    Afterall, its all about job security.

  26. Found the original ppt file for those of you with by Dante · · Score: 0, Redundant

    Found the original ppt file for those of you with powerpoint. www.usenix.org/events/usenix-win2000/ invitedtalks/lucovsky.ppt

    --
    "think of it as evolution in action"
  27. Goal Setting... by pandemonia · · Score: 1


    First job was to establish high level goals. ...
    Reliability - Nothing should be able to crash the OS. Anything that crashes the OS is a bug. Very radical thinking inside of Microsoft considering Win16 was cooperative multi-tasking in a single address space, and OS/2 had many similar attributes with respect to memory isolation

    Extensibility - Ability to extend the OS over time

    Compatibility - With DOS, OS/2, POSIX, or other popular runtimes. This is the foundation work that allowed us to invent windows two years into NT OS/2 development.

    Performance - All of the above are more important than raw speed!

    --
    -mz
    1. Re:Goal Setting... by Dunkalis · · Score: 1

      That was probably the most interesting part of the entire document. What happened to that? I mean, XP (Win2000 derivative) crashes because of problems XP has with ACPI and my CD-RW. Its definitely not my hardware, because my PC works 100% under Linux. XP isn't extensible. What POSIX compatability? And MS really only cared about speed in XP, it seems.

      --
      Slashdot is a waste of time. I enjoy wasting time.
    2. Re:Goal Setting... by psamuels · · Score: 1
      I mean, XP (Win2000 derivative) crashes because of problems XP has with ACPI and my CD-RW. Its definitely not my hardware, because my PC works 100% under Linux.

      Uhhhhh ... I distrust XP as much as the next guy, but don't be so quick to blame it. Do you have any idea how horribly complex of a mess ACPI is? Whoever defined that standard should be Rasputinised. Consider the reputation BIOS vendors have for bug-free code, and then think about how they have to write entire device drivers in a special ACPI-specific mini-language to be interpreted by the OS (you know, like Open Firmware, only different), and then you can begin to shake your head in wonder that your machine even boots.

      Linux has ACPI support, but only skeletal until recent kernels, and I never enable it because I don't trust it (either the newness of the Linux implementation, or the BIOS vendors) and because Linux likes my hardware just fine without it. Does your Linux kernel use ACPI?

      XP isn't extensible. What POSIX compatability?

      Have you tried extending XP lately? How do you know it's so hard? (I haven't tried either, btw.) As for POSIX, well, NT4 had a POSIX layer nobody used because it was so buggy - I believe it existed solely to get DOD contracts which specified "must run on a POSIX OS" - which was a load of crock since the point of said contracts was to avoid platform lock-in, but of course they went ahead and bought "POSIX-compatible" NT and then used the Win32 subsystem instead of the useless POSIX layer, thus achieving vendor lock-in after all....

      There have been third-party POSIX subsystems for NT, some of which are reported to work fine. Win32 is only a subsystem on top of the microkernel; I bet this is still true in XP. I don't know if the OS/2 subsystem is still around - if I were Microsoft I probably would have dropped it with Win2k. But that doesn't mean you couldn't write your own servers. There has been talk of porting UML to Windows - can't recall if they wanted to use Win32 or the bare NT ukernel, though.

      --
      "How can you claim that you are anti-crack, while still writing a window manager?" — Metacity README
    3. Re:Goal Setting... by XO · · Score: 1

      I know at least in NT 4.0, and I would be willing to bet a small amount, that in Win2k, NT was capable of running OS/2 1.x TEXT BASED applications. why? Because win32 was based on OS/2's 32-bit API. The code for supporting that is probably actually QUITE still there, since with 411,000 !!!!!!! source files, who would actually go through all of them to figure out how to remove OS/2 1.3 app support?!

      And really, as if anyone actually HAS any OS/2 1.3 command line applications?!? yeah right.

      Anyone out there still running Linux 0.99.15f? That's the last ver that I built by hand.

      --
      "Champagne for my real friends - and real pain for my sham friends!" http://ericblade.postalboard.com/
    4. Re:Goal Setting... by Anonymous Coward · · Score: 0

      Linux doesn't use ACPI, so that doesn't rule out (likely) problems with your firmware. Try installing XP in no-ACPI mode if your shit is broken.

      XP isn't extensible. What POSIX compatability?

      FUD

    5. Re:Goal Setting... by Anonymous Coward · · Score: 0

      No, the OS/2 subsystem used to run text-mode OS/2 applications, not the Win32 subsystem. And they _did_ remember to remove it.

  28. Your design process is the real disaster recipe... by javabandit · · Score: 4, Insightful
    My former employer required the use of 65-page UML diagrams for the simplest command-line utilities. Why? Because it was popular, and the investors liked to make sure we were buzzword-compliant. UML is designed for non-technical audiences, and as such it flies in the face of the engineering goals it is designed to solve. What's good for the suits isn't necessarily good for the engineers.
    I'm not sure how to say this nicely, but you are a moron. You actually think that UML and design diagrams are only for suits? That is ridiculous. Just because your former employer was a complete idiot and requiring obscene amounts of UML diagrams for small things doesn't make the whole concept a farce.

    Good engineering (of any kind) starts with design... a plan. I'm glad you don't build skyscrapers or airplanes.
    These stand in the way of progress like no other corporate "bad habit." Requiring programmers to have a supervisor (often a non-technical PHB) "sign off" on their code prior to the commit is ludicrous. Developer time costs $20-40 an hour - should that time be wasted pursuading co-workers to check in and approve their code, or should it be spent doing actual development?
    Oh boy. So you basically are thinking... what... that code should be reviewed after it has already hit QA or something? Or perhaps we shouldn't review code at all?

    Here's a clue. If a developer is costing 20-40 per hour writing CRAPPY code... THAT is a far worse waste of time than taking a little time... reviewing the code... and correcting it if necessary.

    Development isn't just writing code any way you want. You want things to be very solid, standardized, and consistent before it gets into beta. Using your way... you'd never know if the code was good or not. Apparently... to you... if it works... ship it!
    Code review is a power trip and best, and a drain on morale at worst. If a programmer cannot be trusted to develop excellent code, he should be replaced with somebody who can.
    What? How do we know if the code is bad? We have to REVIEW it? What if the developer doesn't understand a certain design pattern and implemented it incorrectly? Hell... what if a bug or flaw is discovered during the review process?

    These are all common issues in everyday development. It doesn't necessarily mean the developer is BAD. Rather... the developer is HUMAN.

    Although... with your lack of a code review process, lack of system design process, and lack of formal check-in process... I am surprised that any decent code gets written at all.
    The best work is emphatically not done by 1400 people in the Redmond campus. The best work is done by culling experts of individual niche areas from around the globe. Not surprisingly, this is the model that Linux and most Open Source software uses, and that is why OSS is phenominally successful compared with any of its proprietary competition.
    You're comparing apples and tractors. Financial gain or customer/user base size are NOT measures of good code, excellent development standards, or strong design processes. Although, I'm not certain you will understand what I'm saying here.

    There is some excellent open-source software out there. Likewise, there is some excellent proprietary software out there.

    And there is crappy software out there, too... for both worlds. Whether or not something is open source or proprietary says nothing about how it is written or how well it is designed.

    This obviously is a huge troll that I'm feeding here.
  29. Linux Distros? by Anonymous Coward · · Score: 0

    Does anyone know the build time to rebuild every piece of source that goes into a full linux distro?

    1. Re:Linux Distros? by glwtta · · Score: 2
      What's a full linux distro? I'd say the times vary considerably depending on how you answer that question; that system could have a lot less or a lot more to it than windows.

      Besides, how do the compilers compare in speed? (there'd be an almost totally useless benchmark)

      All in all, I would say that a comparable gnu/linux system (kernel, base stuff, X, KDE or Gnome, plus a few other bits and bobs) would take a bit less time than this, but that's just a guess at best. Perhaps some of the Gentoo and LFS users can shed some light?

      --
      sic transit gloria mundi
    2. Re:Linux Distros? by Anonymous Coward · · Score: 0

      > Does anyone know the build time to rebuild every piece of source that goes into a full linux distro?

      Why does it matter? Unlike Microsoft's "integrated" solution, the various Linux components are designed to be independent, so you don't have to rebuild them all at the same time.

    3. Re:Linux Distros? by Johan+Veenstra · · Score: 1

      If the compilers compare in speed: even the answer to this statement can vary a great deal, since gcc-3.1 is a *lot* slower in compiling than the old gcc-2.95 was.

      Still using gcc-3.1 on my duron 800, compiling a very basic basesystem (LFS) takes about 3 hours. Compiling xfree86, qt, kdelibs and kdebase takes more than 10 hours. And even then you've got a very basic kde-system.

      That said, those PIII-Xeon are way faster in compiling than any normal P3/P4/Athlons, probably because of their large cache. A P3-Xeon-400 compiles LFS faster than a P4-2000!!! So that 4-way P3-Xeon-550 should be at least something like 16 times faster than my puny duron800. With my computer it would take about a *week* to compile win2000, and even then I'm being very optimistic.

      reagrds,

      Johan Veenstra

  30. [OT] Re:I don't know much about build times.. by the+Man+in+Black · · Score: 2

    MAD MAD props on the Ghostbusters quote.

    1. Re:[OT] Re:I don't know much about build times.. by Eccles · · Score: 1

      MAD MAD props on the Ghostbusters quote.

      'cept with imdb.com, you should be able to get quotes right. (Although admittedly imdb doesn't always have them right, either...)

      Doctor Egon Spengler: I'm worried, Ray. All my readings point to something big on the horizon.
      Winston Zeddemore: What do you mean, big?
      Doctor Egon Spengler: Well, let's say this Twinkie represents the normal amount of psychokinetic energy in the New York area. Based on this morning's reading, it would be a Twinkie thirty-five feet long, weighing approximately six hundred pounds.
      Winston Zeddemore: That's a big Twinkie.

      --
      Ooh, a sarcasm detector. Oh, that's a real useful invention.
    2. Re:[OT] Re:I don't know much about build times.. by Anonymous Coward · · Score: 0

      'cept unless you've had all the fun sucked out of your life, you don't go running off to IMDB to make sure that every last word is correct when tossing out a movie line like that. What happened in your life to make you so anal over such completely inconsequential things?

    3. Re:[OT] Re:I don't know much about build times.. by Eccles · · Score: 1

      You're right, like that guy said in Risky Business: "Sometimes you've just got to say, 'What the hey.'"

      Or like Arnold Schwartzenberger said in the Exterminator: "I'm gonna be back."

      --
      Ooh, a sarcasm detector. Oh, that's a real useful invention.
  31. So, you've been a developer for ....a week? by LibertineR · · Score: 0, Flamebait
    Spoken like a true idiot, my friend.

    The UML is NOT a fad. I can only suggest that you never decide to become a software architect as opposed to just coding for non-profit.

    As for the 'phenominal success' of OSS, please point me to the profits, ok? Linux is great, but Phenominally successful? In what universe? When you and your 80 year old grandma can run any CDRW or scanner that YOU want, and not have to re-complile every time you change your socks, then maybe.

    As for Code Review, even the best coders can always learn something, and no one is mistake proof. Oh, let me guess; you finished your "Learn Java in 24 hours book, and now you are untouchable, right? One clue; good developers cost a LOT MORE than 20-40 an hour, partner. You better get another book, and buckle down.

    For now, I suggest you re-evaluate your statements.

    1. Re:So, you've been a developer for ....a week? by Anonymous Coward · · Score: 0

      "point me to the profits"? Are you feeling ok? how about I point you to the software... since we're talking about software development here?

    2. Re: So, you've been a developer for ....a week? by Black+Parrot · · Score: 2

      > Spoken like a true idiot, my friend.

      Surely a troll, IMO.

      > The UML is NOT a fad.

      Yeah, I'm usually pretty cynical about this kind of stuff, but I've found UML useful for documenting the basic structure of very complex programs.

      --
      Sheesh, evil *and* a jerk. -- Jade
    3. Re:So, you've been a developer for ....a week? by Anonymous Coward · · Score: 0

      Not to run to the idiot's defense or anything (because [s]he DOESN'T know what [s]he's talking about for the most part), but OSS HAS been phenomenally successful. Linux hasn't. You made that leap of logic; [s]he didn't. In fact, compared to many other OSS projects, Linux has been rather coolly received. Not like Apache, BIND, or Perl, for example.

      And I managed to do the whole thing gender neutral. Whoopee for me.

    4. Re:So, you've been a developer for ....a week? by LibertineR · · Score: 0
      Sure we are talking about software development.

      However Genius, there are reasons why we do it. In addition to personal satisfaction for coming up with a particularly clever solution to a problem, I LIKE TO GET PAID.

      No profits = eventually NO PAY. There may be those of you willing to slave over a hot CPU for months on end just to feel better about yourself, but I am happy to be called a CodeWHORE. I do it for the bucks as much as anything else.

  32. Re:Found the original ppt file for those of you wi by popoutman · · Score: 2, Interesting
    Actually works quite well with OpenOffice..

    Hats off to the staroffice teams for a nice job well done.

    --
    - This sig deliberately left blank. Nothing to see, move along.
  33. You Bastard! by sfrenchie · · Score: 1
    The HTML version on Usenix's site is much nicer than Google's auto-translated version.

    michael, did you not think maybe the submitter was thinking ahead by giving you the google cached version?

    The ./ editors need to realize the AWESOME power they hold in their typing fingers!

    --

    "The scientist describes what is; The engineer creates what never was." - Theodore von Karman
  34. SourceDepot = Perforce != VSS by Anonymous Coward · · Score: 5, Interesting

    It seems that Microsoft does not use Visual Source Safe for Windows source code.

    1. Re:SourceDepot = Perforce != VSS by spectecjr · · Score: 2

      Thanks!

      I've been trying to work out what SourceDepot was really called in the outside world for ages. I've been looking for a good replacement for VSS.

      Si

      --
      Coming soon - pyrogyra
    2. Re:SourceDepot = Perforce != VSS by 1010011010 · · Score: 2


      It's hard to believe how sucky their first source control system was. When was CVS available? It's not perfect, but at least it has branching.

      --
      Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
    3. Re:SourceDepot = Perforce != VSS by Anonymous Coward · · Score: 1, Interesting

      They are not. Two of my friends works for Microsoft. They don't use VSS. Even for development, they use 3rd party IDE. They use Visual Studio only for debugging.

    4. Re:SourceDepot = Perforce != VSS by Anonymous Coward · · Score: 0

      That's funny. I work at Microsoft, and in my last project I used VSS, and I used Visual Studio as my IDE. editing and debugging.

      But today I use Source Depot and VS.NET.

    5. Re:SourceDepot = Perforce != VSS by Phexro · · Score: 3, Funny

      Yeah, but CVS is licensed under the GPL, which means that all Microsoft code in CVS would have to be copylefted, too! This is because the GPL is a viral cancerous anti-american pac-man. A document imbued with pure satanic evil, created by the twisted genius of Richard M. Stallman, who stands poised to destroy the world economy at the drop of a hat.

      Or so I've read.

    6. Re:SourceDepot = Perforce != VSS by BitGeek · · Score: 3, Interesting


      And when I worked there we used "Slime" for version control, VisualC as the IDE (Though some people chose to use another IDE).

      MS has good people but a completely fscked development process.

      One of only two jobs where I've been criticized for commenting my code. (Not lack of comments, but too many.)

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
    7. Re:SourceDepot = Perforce != VSS by Anonymous Coward · · Score: 3, Interesting

      Yes, we use Source Depot on my team at MS. It's very Unixy in its syntax (likes a lot of filtered output piped to it from other cmdline tools), and it's also a bit obscure in its details. It has a GUI client, but the bulk of it, other than the client mappings (which server stuff to sync) is all cmdline. It's not great, but at least it scales, which is more than you can really say for VSS.

    8. Re:SourceDepot = Perforce != VSS by Otterley · · Score: 2, Interesting

      Just because your code is stored in CVS does not make it automatically fall under the GPL. That's like saying that because your code was compiled under gcc that it falls under the GPL.

      Only if you include CVS code in your project does the GPL apply to it.

    9. Re:SourceDepot = Perforce != VSS by Phil+Wilkins · · Score: 2

      I did that same google search (there's a few other clues out there too) and confronted a couple of microsoft developers on a mailing list (we'd been having a long discussion about VSS, and how much it sucked for projects with more than a hundred files). One of them fessed up. Apparently the SCCS system is chosen on a per-team basis. Some use SourceDepot, which is derived from Perforce, while others use VSS. Oh, and good luck trying to get a copy, SourceDepot is an internal project, not for public release.

    10. Re:SourceDepot = Perforce != VSS by Anonymous Coward · · Score: 0

      It was a joke.

      (And by the way the whole wait 20 seconds after hitting reply thing is really annoying)

    11. Re:SourceDepot = Perforce != VSS by Dom2 · · Score: 2, Insightful

      And rightly criticized if I might add. Too many comments obscure the code and duplicate what it says a lot of the time. Good comments are an art form.

      -Dom

    12. Re:SourceDepot = Perforce != VSS by anshil · · Score: 3, Insightful

      Thuis is not in any kind funny.

      Really lot of windows guys people believe that if they use gcc as compiler they have to be GPL, it's FUD, and jokes like this only HURT Gnu,GPL,Linux. (or use bison, or edit the code with vim, and so on). This kind of humor is just too expensive, as people not knowing the regarding background actually believe kind of stuff, it's fear from the FUD they heared from the MCSE's.

      --

      --
      Karma 50, and all I got was this lousy T-Shirt.
    13. Re:SourceDepot = Perforce != VSS by Anonymous Coward · · Score: 0
      Really lot of windows guys people believe that if they use gcc as compiler they have to be GPL, it's FUD, and jokes like this only HURT Gnu,GPL,Linux. (or use bison, or edit the code with vim, and so on).

      So, you're saying that Microsofties lack an ability to detect humor or sarcasm? Or that you just don't appreciate it.

    14. Re:SourceDepot = Perforce != VSS by breadbot · · Score: 1
      Oh come on, can't we joke around a little? Maybe humor can even help -- if you say something completely ridiculous
      If your code <i>is capable</i> of compiling under GCC, its license is changed automatically to the GPL.
      the uninformed reader might initially respond with Whoa, that's some messed-up anti-American shit!, but I think they'd figure out pretty quickly that it was a joke.

      Or maybe it isn't ...

    15. Re:SourceDepot = Perforce != VSS by FFFish · · Score: 2

      It was a joke. Laugh.

      --

      --
      Don't like it? Respond with words, not karma.
    16. Re:SourceDepot = Perforce != VSS by p3d0 · · Score: 1

      I agree with everything you said, but I'll take too many comments over too few any day, so long as they're correct.

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    17. Re:SourceDepot = Perforce != VSS by hawkfish · · Score: 1

      CVS is not the be-all and the end-all of VCS systems. It has a number of well-known, serious failings, including lack of versioning for directories and general performance. Perforce is an awsome system and it speaks well for M$ that they are using it.

      --
      You will not drink with us, but you would taste our steel? - Walter Matthau, The Pirates
    18. Re:SourceDepot = Perforce != VSS by Phexro · · Score: 2

      Come on. I fail to see how anyone could take my joke seriously, even someone spoon-fed Microsoft propaganda.

      If anything, seeing all the false claims Microsoft has made about the GPL clumped together like that should make people question those claims.

      Using humor to criticize is not a new concept. Your statement is akin to saying that political cartoons that satirize the President's actions since 9/11 promote terrorism, and both statements are equally false.

    19. Re:SourceDepot = Perforce != VSS by Anonymous Coward · · Score: 0

      We used SLM on the Visual Studio team.

    20. Re:SourceDepot = Perforce != VSS by anshil · · Score: 1

      I actually have met people believing if you use gcc you have to be GPL. And I've talked to people believing if you use bison the result is GPL, and yes even for CVS they aren't that sure. And so on and on, IMHO this unjustified fear it's just too dangerous to touch it.

      --

      --
      Karma 50, and all I got was this lousy T-Shirt.
    21. Re:SourceDepot = Perforce != VSS by anshil · · Score: 1

      """If your code is capable of compiling under GCC, its license is changed automatically to the GPL. """

      Looking at current patent law even statements like that aren't that funny. Yes we all know for gcc it's not true. But actually there are some coding syntaxes patented. The way Visual Basic handels Arrays is hold by a patent. (However as far I know it's not an executed patent) So it's then fair to say, if your code is capable of beeing compiled by VB, you might violate certain patent restrictions.

      Well I know this is all overstated. But this kind of patents pester more people who want to redesign VB for linux in example, more than people coding using these array syntaxes.

      --

      --
      Karma 50, and all I got was this lousy T-Shirt.
    22. Re:SourceDepot = Perforce != VSS by anshil · · Score: 1

      So, you're saying that Microsofties lack an ability to detect humor or sarcasm? Or that you just don't appreciate it.

      The sarcasm is only detectable if you actually read or understood the GPL, if you're only filled with FUD you might not readable it as sarcasm.

      And yes the second statement is true, generally persnally I do not appreciate sarcasm, it's a negative trait, one is filling himself with thoughts he actually dispises.

      --

      --
      Karma 50, and all I got was this lousy T-Shirt.
    23. Re:SourceDepot = Perforce != VSS by BitGeek · · Score: 2

      And rightly criticized if I might add.

      Really? You read my comments? Sheesh. From what I can tell you don't use any real programming languages so maybe you've never been trained.

      The code was not obscured by comments. In fact, by my standards, I under comment.

      But most programmers, in my experience, and almost all the programmers at microsoft, put no comments in there at all, and write quite poor code.

      Anyway, In all my years of professional work, I've *NEVER* seen a case of "too many comments".

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
    24. Re:SourceDepot = Perforce != VSS by Ayende+Rahien · · Score: 2

      i++;// add one to i
      for (i=0;i10;i++)//loop 10 times, the i10 is there because we start from zero...

      Those kind of comments are reduntant, always when you can, let the code do the commenting for you.

      ThreadArray[Index].Suspend();

      Comments should be for the why, not the how.

      And there is always the fun stuff when the comments are out-dated, which happens a lot more than most people realize.
      There isn't anything as nice as trying to understand code which has out-dated/misleading/outright worng comments.

      --

      --
      Two witches watched two watches.
      Which witch watched which watch?
    25. Re:SourceDepot = Perforce != VSS by BitGeek · · Score: 2

      i++;// add one to i
      for (i=0;i10;i++)//loop 10 times, the i10 is there because we start from zero...


      Are you being silly?

      Yes, these are pointless comments, but they are not the kind of comments I'm talking about.

      Maybe comments get out of date- not updating comments is an error by the programmer who didn't update them... but out of date comments are better than no comments.

      --
      Yeah, and you guys panned the ipod too: http://apple.slashdot.org/article.pl?sid=01/10/23/ 1816257
  35. God help them... by duckpoopy · · Score: 2, Funny

    if they are using SourceSafe.

    --
    word.
    1. Re:God help them... by alienmole · · Score: 1
      You're not kidding. Apparently they originally used a source-code control system that was "internally developed, maintained by a non-NT tools team" with "no branch capability". He isn't specific about how this might have changed later, except that "Windows [2000] team takes ownership of source code control system which at this point is on life support". Sounds like they might have benefited from a port of RCS or CVS?!

      I realize that would have completely contradicted company dogma, but did every Windows user in the world have to suffer as a result? Think of the time and aggravation saved if a smooth-running SCC system were used from the start!

    2. Re:God help them... by ryants · · Score: 2
      SourceUnSafe is so bad, Microsoft doesn't even use it internally.

      Go figure.

      (They use some internal tool called SourceControl, or something like... the name escapes me)

      --

      Ryan T. Sammartino
      "Ancora imparo"

    3. Re:God help them... by cant_get_a_good_nick · · Score: 4, Interesting

      If you think Visual SourceSafe is bad...

      I had a contract project, a porting job. The platforms were Win32 (where it originated) UNIX/Linux (our port), Novell, and OS/2. We had the command line version because the Linux GUI core dumped every 5 seconds. But the command line version stull sucked, and of course didn't know shit about line endings. We could script it with some extension mapping to try to do dos2unix/unix2dos, but good luck, cause the command line version wouldn't have any useful exit() values. I have no idea what the Novell and OS/2 guys did.

      Joel Spolsky (he's been on here before) wrote about sucky SourceSafe a bit and how Microsoft really doesn't use it. Doens't give me a lot of confidence using it. He also had the link to the UseNix verion of the talk given in the story.

    4. Re:God help them... by duckpoopy · · Score: 1

      The rumor is that SourceSafe is a popular project to break-in the new hires. My personal experience with SS has made me very thankful for tape backups.

      --
      word.
    5. Re:God help them... by kilrogg · · Score: 1
      (They use some internal tool called SourceControl, or something like... the name escapes me)

      Uh, if this internal tool is better, why don't they sell this instead of SourceUnSafe? Could it be they use a 3rd party tool instead?

    6. Re:God help them... by Samrobb · · Score: 1
      Uh, if this internal tool is better, why don't they sell this instead of SourceUnSafe? Could it be they use a 3rd party tool instead?

      Nope. Last I heard, they used something that had a weird abbreviation (SLME?) that got pronounced as "slime". It was an in-house collection of apps and scripts, grown over time, and pretty much completely unsuitable for packaging as a real SCC app.

      --
      "Great men are not always wise: neither do the aged understand judgement." Job 32:9
    7. Re:God help them... by Samrobb · · Score: 2, Informative

      Grrr. And of course, someone later on points to a blurb that describes SLM:

      Joel on Software

      --
      "Great men are not always wise: neither do the aged understand judgement." Job 32:9
    8. Re:God help them... by Anonymous Coward · · Score: 0

      SLME was the inhouse product mentioned. As mentioned by the thread above this one SourceDepot is Perforce rebadged.

    9. Re:God help them... by Anonymous Coward · · Score: 0

      Imagine this: MS had to begin somewhere. They had to check their SourceSafe code into something. Pesumably they have company source control standard, which according to a previous post seems to be Perforce. So if Perforce is working for them, why switch everything into sourcesafe? That is a lot of work.

      I can write a piece of software to meet a demand, but this program might not meet my own needs.

      MS not using SourceSafe != Hypocracy.

    10. Re:God help them... by Conare · · Score: 1

      if they are using SourceSafe.

      Now we know what really happened to NT 5.0

      --
      Stop Continental Drift! Reunite Gondwanaland!
    11. Re:God help them... by ethereal · · Score: 1

      It is hypocrisy if you're always trumpeting "eating your own dog food", and especially if you're trying to sell other large software development projects on using SourceSafe. Supposedly the software does meet the "enterprise" demands placed upon it, so why isn't Microsoft using it?

      --

      Your right to not believe: Americans United for Separation of Church and

    12. Re:God help them... by Anonymous Coward · · Score: 0

      The internal tool was Source Library Manager (SLM).

      Once MSFT actually did sell SLM (augmented with a GUI front end) as a product. It was called Microsoft Delta. Virtually nobody bought it.

  36. Doh... by T3kno · · Score: 1, Troll

    It's gonna take me 8 hours on a 4 way PIII to read this whole damned presentation.

    --
    (B) + (D) + (B) + (D) = (K) + (&)
    1. Re:Doh... by Anonymous Coward · · Score: 0

      it took 4 minutes to read.

    2. Re:Doh... by Anonymous Coward · · Score: 0

      Yeah, because a "4 way PIII" will really help your slow ass read faster...

  37. Can't pull IE from Windows, huh? by davebo · · Score: 5, Insightful

    Microsoft claims IE can't be separated from the OS. Yet, the presentation points out the code is broken into 16 sub-projects, largely isolated from each other, and separately buildable.

    Two of those projects were "INetCore" and "INetServices".

    So why can't you just build 2K without those 2 subprojects, or just stubs inserted for the functions declaired in those projects?

    1. Re:Can't pull IE from Windows, huh? by patchmaster · · Score: 5, Informative

      Those claims are clearly gross exaggerations intended to fool idiots and judges into thinking IE is an integral part of the OS. They define "IE" as every line of code exercised by IE in doing its thing, including mundane things like writing to the screen or saving a file. Then they discover if you pull out all the code for "fwrite" suddenly the system stops working. Duh! It's like claiming your car won't run without the windshield wipers, defining the windshield wipers as everything needed to make them work, including the battery. So you pull out the battery and, what do you know, the car won't start.

    2. Re:Can't pull IE from Windows, huh? by Anonymous Coward · · Score: 0

      I say Amen to that! I guess it falls into what their definition of "Windows" is... it sounds to me that according to microsoft IE and Windows must be the same thing. heh... too bad...

    3. Re:Can't pull IE from Windows, huh? by FatRatBastard · · Score: 2

      I always thought of it as claiming you couldn't take the car stereo out without the engine failing. Sure, you can design a car that way but its incredibly stupid. The only reason GM would do such a thing is to keep AIWA et al from being able to install a third party player.

    4. Re:Can't pull IE from Windows, huh? by MeowMeow+Jones · · Score: 1, Funny

      Why doesn't anyone ever complain about OpenBSD's integrated Browser? They bundle it in the OS even if you don't install X.

      Damn slashdot hippies.

      --

      Trolls throughout history:
      Jonathan Swift

    5. Re:Can't pull IE from Windows, huh? by hyoo · · Score: 3, Insightful

      Seperately buildable does not imply seperately runnable.

    6. Re:Can't pull IE from Windows, huh? by Anonymous Coward · · Score: 0

      Maybe because:

      1) OpenBSD doesn't have a 99% stranglehold on the PC market
      2) Lynx is an ncurses based browser (read: console, nothing to do with X)

      I will mod you down you fuckface.

    7. Re:Can't pull IE from Windows, huh? by Anonymous Coward · · Score: 0

      In addition, it actually is a USEFUL
      program allowing other programs net access...
      using the command line form of lynx,
      a perl script, c program or whatever
      can get and send html,ftp,https, etc,
      without anything else.

      this, for instance, is one way perl's CPAN module
      bootstraps itself if there's none of the perl libnet
      modules installed.

      not only that, but lynx is still quite easily
      removeable/replaceable/what have you

    8. Re:Can't pull IE from Windows, huh? by Anonymous Coward · · Score: 0

      Because the Windows requires large portions of IE code to run. Simply because they can be built seperately means nothing in regards to their dependence on one another. What it means is that the core team uses an older version of what the IE team has provided them with to test their code until the next stable (and proven) build from the IE team is released.

    9. Re:Can't pull IE from Windows, huh? by Anonymous Coward · · Score: 0

      First of all, that's their proposed solution to current build problems (circa 2000, possibly implemented or changed since then.) Second of all, that build doesn't include IE, no matter what they tell the DOJ.

    10. Re:Can't pull IE from Windows, huh? by mcjulio · · Score: 1

      Exactly. Keeping your project in separate build modules has nothing to do with what happens to the exes and dlls at runtime. I suspect it's purely for testing reasons.

    11. Re:Can't pull IE from Windows, huh? by Anonymous Coward · · Score: 1, Funny

      Guess what? I have a VW where it's "not recommended" to remove the car stereo, because it's tied into the emissions computer.

      That's 200x more devious and sneaky than any proprietary trapezoidal radio that GM would dream up. VW is to MS as GM is to Sun Micro.

    12. Re:Can't pull IE from Windows, huh? by Anonymous Coward · · Score: 1, Interesting

      The point is that everything is put in libraries, that are shared throughout the system. The help system uses HTML-renderer, even the (active) desktop uses HTML-renderer (although I don't think anybody actually has that turned on)... so yes, of course you could do without IE in the OS. That'd be like deleting iexplore.exe, since the rest is common code for the rest of the systems.

    13. Re:Can't pull IE from Windows, huh? by sql*kitten · · Score: 3, Informative

      So why can't you just build 2K without those 2 subprojects, or just stubs inserted for the functions declaired in those projects?

      The thing you must understand about Microsoft code is that everything is a component, OLE in the old days, COM now. That's why you can easily call Excel's charting functions from your own code, say. It's also why you can run macros inside Outlook, all Microsoft applications are components and scripting glue (like VBA). Wordpad, for example, is almost no code in and of itself, it's a rich text component, a toolbar component and so forth. If you want to build a custom web browser, you can just reuse the HTML renderer and whatever else you need from IE, they are all components.

      But this also means that if the internet components were entirely removed, there would be no OS-level TCP/IP support, the online help viewer which uses the HTML renderer wouldn't work, etc. So that's why MS say they can't remove MSIE - because IExplore.exe on your hard drive is just the glue holding together a bunch of components that are provided by the OS and available to any application.

    14. Re:Can't pull IE from Windows, huh? by Dave9876 · · Score: 1

      Might have something to do with the ability to 'rm /usr/bin/lynx' without the whole system complaining. Besides, lynx doesn't suck as much as ie, and isn't loaded at startup to make it appear faster than any other browser, because we all know lynx is faster without crude hacks.

    15. Re:Can't pull IE from Windows, huh? by Anonymous Coward · · Score: 0

      Granted, but what about MSN Messenger? Next thing they'll be claiming it's part of the OS too, with no way to remove it, much for similar reasons.

      Where does the insanity stop? Why does a resource that applications aren't forced to use being required to be installed on every single OS? It can be an optional install, included with applications that require it (which check before installing it, in case it's already been installed).

      Why the hell do I have to waste &*@#$#@ disk space on small-HD'd user workstations for nonsensical crap that they will never, ever use - at least for official purposes. If someone installs AOL and screws up their workstation one more time...

    16. Re:Can't pull IE from Windows, huh? by HydroCarbon10 · · Score: 2

      IE isn't glue holding anything together, IE is a browser that utilizes the various components and services provided by Windows. MS says they can't remove IE because they don't want to. They could just as easily leave in the html renderer, the url handling, and everything else IE relies on and remove IE itself. It'd be like removing NeoPlanet. Unfortunately, Microsoft believes that all those components IE makes use of are part of IE and not really components of Windows.

      --
      The best way to accelerate a windows box is at 9.8 meters per second square.
    17. Re:Can't pull IE from Windows, huh? by Froqen · · Score: 1

      That is not what was being asked.

      They wanted all pieces of IE out. Notice that the states still aren't happy with that part of the current settlement, which more or less is just not making the very top level peice unavailable.

    18. Re:Can't pull IE from Windows, huh? by Anonymous Coward · · Score: 0

      your wipers will run without a battery as long as the engine is running and you have a good alternator

      ;-)

    19. Re:Can't pull IE from Windows, huh? by Anonymous Coward · · Score: 0

      Pathetic humour, Dave. Dave, pathetic humour. I take it you to haven't met before.

    20. Re:Can't pull IE from Windows, huh? by HydroCarbon10 · · Score: 1

      I was replying to the following: So that's why MS say they can't remove MSIE - because IExplore.exe on your hard drive is just the glue holding together a bunch of components that are provided by the OS and available to any application.. Every time I don't include *exactly* what I'm replying to, people complain that I'm not replying to anything, not to mention the fact that the post I replied to didn't pose any questions, so I'm not realy sure how I can misunderstand what is being asked when nothign was asked. I was trying to point out that Microsoft's definition of Internet Explorer is overly broad and the post I responded too was seemingly accepting Microsoft's position. The states, you say, want "all pieces or IE out". Saying that Microsoft can't do it because IE uses TCP/IP is about as dumb as saying Microsoft can't take IE out because it relies on the CreateWindow API and therefore that must also be yanked out.

      In other words, the original poster's argument that IE can't be removed because it holds components together is ridiculous. None of the components sit in iexplore.exe. This is what I said in my post -- hopefully I said it this time in a way that /everyone/ can understand.

      I'm not really sure why I even need to reply...my post is pretty self explanatory. Heck, I've typed this much, may as well post it.

      --
      The best way to accelerate a windows box is at 9.8 meters per second square.
  38. Just a typo, but what the hell. by Myuu · · Score: 1

    "Complete build time is 8 hours on 4 way PIII Xeon 550 with 50Gb disk and 512k RAM"

    K?! Kilobytes? With a 550 processor and 50 gigs? Isnt that like having a BMW with crappy tires.

    --

    forget it.
    1. Re:Just a typo, but what the hell. by Anonymous Coward · · Score: 0

      Maybe they're still on that "640K is enough for anyone" thing, and they're trying to prove they can do it in 512K.

    2. Re:Just a typo, but what the hell. by Anonymous Coward · · Score: 0

      No, it's like having a BMW with a thimble-sized gas tank.

    3. Re:Just a typo, but what the hell. by LiENUS · · Score: 1

      VROOM VRO

      hang on gotta fill up the gas tank

    4. Re:Just a typo, but what the hell. by matthoh · · Score: 1

      More like no tires

    5. Re:Just a typo, but what the hell. by wilhelm · · Score: 1

      It sounds more like having a pro-stock dragster with bald bike tires. Oh man, I need sleep!

      And only 512MB? Man, my old-ass dual-PPro 200 has more core than that. By a factor of 2!

  39. use cases suck? by mrp · · Score: 2

    Others (like Use cases IMHO) suck and are of little use to programmers, though more in communication with PHBs and business types.

    I've found use cases to be really useful. Two reasons:

    • Keeps programmers focused. I've worked with programmers who had their own ideas about what ProjectX should do, and forget about what the accountants, who'll use it every day, need to do. I've inheirited code with huge chunks that have never been executed in production - stuff the programmers thought might be useful, but wasn't asked for or needed, wasting design time, coding time, testing time, and maintenance time.
    • Prevents me from slapping my forehead 45 days after release. Say I write some internal billing machinery - I have customers in Accounting and Sales. "We're closing up the books for last month, how do we figure out NumberX?" "We're handing out salesperson commissions, how do we figure out NumberY?" I find it difficult to anticipate all necessary use cases unless I interrogate users, write 'em down and check against 'em.

    But at the end of the day, bad programmers make worthless (but compliant!) UML diagrams/use cases/flowcharts as do programmer who are forced to create them. Good programmers make good ones or don't need them.

    1. Re:use cases suck? by Anonymous Coward · · Score: 0

      use cases are most useful for testers to have something to verify against. The problem is that they are usually not accurate or up to date.

  40. Simple explanation by Anonymous Coward · · Score: 0

    A thousand monkeys with a thousand typewriters...oh nevermind. Monkeys can't code...or can they?

  41. Well, I stand corrected. by Russ+Steffen · · Score: 2, Funny

    I always figured that their development methodology invloved a room full of an infinite number of monkeys typing into Notepad. Learn something new everyday.

    1. Re:Well, I stand corrected. by Anonymous Coward · · Score: 0

      Substitute emacs or vi for notepad and you have OSS.

  42. Xeons by xrayspx · · Score: 3, Insightful

    They have to be Xeons, AFAIK, non-Xeon Intel CPUs won't do 4-way. And even if you CAN do 4 way on regular PIII's, which you cannot, MS wouldn't, they would have Xeons.

    I'm imagining this machine to be a Compaq 6400r or the like, from the timeframe of the build it's probably 550s or 700(?), since they have a very close relationship to Compaq for servers.

  43. 4 P3 by thopo · · Score: 5, Informative

    sometimes it makes sense to read the article before you comment. (i know the chance is smaller to get modded up ...). the article says:

    Complete build time is 8 hours on 4 way PIII Xeon 550 with 50Gb disk and 512k RAM

    --
    keep it simple.
    1. Re:4 P3 by Anonymous Coward · · Score: 0

      Wow, 512*k* DRAM. So they use DOS to build Win2k
      since no version of Windows will boot!

    2. Re:4 P3 by PacoTaco · · Score: 3, Funny
      and 512k RAM

      Maybe adding some RAM would help. :)

    3. Re:4 P3 by kubrick · · Score: 3, Funny

      They don't need much more though -- after all, 640 KB should be enough for anyone. :)

      --
      deus does not exist but if he does
    4. Re:4 P3 by Anonymous Coward · · Score: 0

      that could either be L2 RAM on the CPUs, or 512M main memory. Just pointing out that it might not be that funny.

  44. And... the point? by Lethyos · · Score: 1, Flamebait

    Not only is this old (read it months and months ago)... and what is so "juicy" about it? So it gives a brief detail of the lifetime of a big software project. What do you think Lightwave3D is like? Maya? Shake? This isn't anything leaked or top-secret. This is just a little short about the history of the engineering of a project. Big deal. Can't wait to see the next kernel patch level.

    --
    Why bother.
  45. programmer/compiler pipeline by Anonymous Coward · · Score: 0

    A compile takes 8 hours. No big thing. I'm sure their budget at least allows for starting a compile every 5 minutes on a new machine in rotation. So what if there's 8 hours latency in the pipeline. The next question is, "What is the yield of useful code?" How many good builds vs. bad builds are produced each day? What is the cost of quality control?

  46. Step aside, hippie. by nobodyman · · Score: 3, Informative

    UML and other modelling fads.

    While UML isn't the end-all, be-all, it is certainly not a "fad". When it comes right down to it, your will need to be able to describe the architecture of your code with something more than comment-lines and manpages. And, with the "U" in UML standing for "Unified", the is the ability for a new-hire developer, or perhaps the purchaser of your source-code, to understand what the hell is going on without pouring over millions of lines of source code.

    Code review is a power trip and best

    I suppose you'd rather accept source code sight-unseen? True, there are good and bad ways to conduct code reviews, but all the code reviews I've been a part of have been a fairly easygoing experiences and almost always helpful. Sometimes you really need another set of eyeballs to catch problems. Isn't that one of the good aspects of OSS??

    Large, geographically concentrated development teams

    I'm torn on this one. Yes, it's bad to simply throw a large number of developers on a team (unless you break them down... way down). On the other hand, you can't tell me that it's not easier to resolve a problem by walking over to the co-worker in the next cube than than email the co-worker who lives thousands of miles away. Didn't the formal release of Mozilla 1.0 get held up because a few key developers had not signed off on the new open source license and they simply could not be found??

  47. Pick any two. by Pig+Hogger · · Score: 1, Troll
    • Software.
    • Engineering.
    • Microsoft.
    Pick any TWO of those.
    1. Re:Pick any two. by Anonymous Coward · · Score: 0

      Oxymoron title: Anyone at MS with ITIL or BS15000 knowledge? SE's have to be locked up, and taught methodology for months. Compare this with previous MS papers where MS says they hire gifted programmers, add good mentorship, and run with 'good enough' software.
      Quality Assurance, IV&I and external audits are not on MS's menu, so it terribly wrong to use the word 'engineered' anywhere. Compare the with OpenBSD auditors, who IMHO - have their act together. Managers who use CS terms like software engineering, then go out and buy 'unengineered' software need re-education.

  48. Point? by nemski · · Score: 0, Offtopic

    Microsoft got bigger. Important projects grew bigger. Problems escalated. Old school complains about the new kids. This article has as much importance as this comment. Mod me down, Scotty.

    --
    Some people have a way with words, others not have way.
  49. Reading the Slideshow you'll find... by sweede · · Score: 4, Informative
    that the 8 hour, 4 way p3, 50 gig drive compile was the OLD WAY of doing Windows 2000 based on how the developed Windows NT.

    the later slides describe the NEW project resource management and development processes for the continuing development of Windows 2000 (before and up until after the release?)

    Slides 23 and up tell you what they did and how well everything works on a project as large as Windows 2000 is.

    This slide gives a sumary of the new build processes http://www.usenix.org/events/usenix-win2000/invite dtalks/lucovsky_html/sld033.htm

    --
    I follow the SDK and GDN principles.. Spelling Dont Kount, Grammer Dont Neither
    1. Re:Reading the Slideshow you'll find... by ejaw5 · · Score: 1

      On slide 6 it states most development of NT was done on OS/2. I find that kinda interesting. Why didn't they use their own OS?

      --

      $cat /dev/random > Sig
    2. Re:Reading the Slideshow you'll find... by Rubbersoul · · Score: 2

      Well they kind of did ... they helped IBM with os/2 for a bit and then decided Creating NT would be better. So I suppose on could say NT was created on its bastard half cousin or something :)

      --
      man .sig
      No manual entry for .sig.
    3. Re:Reading the Slideshow you'll find... by Anonymous Coward · · Score: 0

      NT was OS/2. Microsoft were developing OS/2 for IBM and just switched the name once IBM decided to take OS/2 to the masses.

    4. Re:Reading the Slideshow you'll find... by spongman · · Score: 2

      they did, Microsoft wrote OS/2 (versions up to, and including 1.3). Up until the internal rollout of NT3.51 most, if not all of the servers (email, file, print, RAID, etc...) inside MS were OS/2 1.3.

    5. Re:Reading the Slideshow you'll find... by Meowing · · Score: 1

      Remember that initially, what became NT was to be named OS/2 3.0

    6. Re:Reading the Slideshow you'll find... by Ilgaz · · Score: 1

      a "bit"? Read "The Microsoft File" from Wendy Goldman Rohm (Wired author)

      Half of OS/2 including HPFS,its GUI is MS...

      IBM and MS was so serious making it suscessor of DOS, sad for us... Giant companies politics made it go away. Simple,stupid games, like promising 4MB RAM need,than at press conference, saying it will require 8mb etc.

      I actually used OS/2 Warp 3.0... I shouldn't use it for a second so, I wouldn't be sad about such a great OS wasted.

      Besides, this directory on every win NT based system would surprise you:

      _
      Directory of C:\WINNT\system32\os2

      27.06.2002 16:18 .
      27.06.2002 16:18 ..
      27.06.2002 16:18 dll
      07.12.1999 15:00 108.095 oso001.009
      _

      Well, no need to get surprised about the development being done on OS/2... If you ever used that OS, it would never surprise you.

      Damn, I should filter "OS/2", whenever I read it, it makes me sad...

  50. MS Coders by Ashcrow · · Score: 1

    A friend of mine grew up near Redmond and his father was on of the electricians that worked in the compound. He taged along a couple times, being a geek and all, to see what it was like and he was not impressed. He said that a lof othe people who worked there were either at one end of the human spectrum or the other. People were either 300 pounds or 120 pound weaklings .... lots of them worked on the floor because of karma, while others were high schoolers in a C++ class working on trival parts of the OS for 'experience.'

    1. Re:MS Coders by God!+Awful · · Score: 3, Insightful

      Whuh... Did I just hear a slashdot geek call Microsoft employees even bigger geeks? I'd take what your friend told you with a grain of salt, especially since it doesn't make much sense. I actually worked at Microsoft for a few months as a university student, and my impression was that the workers there were pretty normal, as far as coders go. I've met a lot wierder people since then.

      I was working on a pretty trivial part of NT, so the build system didn't affect me. However, when you walked around the halls you could see who checked in code that broke the build because they would have a "build breaker award" taped to their office window. It seemed to be in good fun, but I suppose it could result in a CYA mentality.

      Also, I remember there being problems with source control, like the article mentioned, though not specific to NT. I seem to remember that Word Viewer used a different codestream from Word and the sample files in the SDK are merely very out-of-date versions of some of the small apps that ship with Windows.

      -a

    2. Re:MS Coders by Anonymous Coward · · Score: 0

      Your friend was either in a very specialized part of the company or he's full of shit. 75% of the people at Microsoft are ordinary folk who also happen to be smart and like software. A good portion of them are assholes because that's partially what we hire for, (aggressiveness), but most of them look pretty normal, physically. There are the fat slobs and the 90 lb weaklings, but they're quite in the minority.

      Yes, I'm one of the normal ones.

  51. ...kernel, your chosen libc, other libs... by dpilot · · Score: 3, Interesting

    But here is part of the whole point...

    The Linux system I'm running when not booted to the Dark Side (My daughter was running Age of Empires - more Dark Side software.) isn't a single chunk that has to be built as one unit. The kernel's one piece, and each lib is another. To be sure, some libs won't work without specific versions of others, so the pieces aren't all independent. But it's still not all one giant chunk.

    They're essentially making the RedHat distribution into one giant build. Kind of like Gentoo, which someone else brought up, and is a very appropriate comparison for build times.

    But even with RedHat or Gentoo, it's not one giant chunk. I've upgraded pieces of my RedHat for years, and to be fair, Microsoft issues fixes. But there's still a difference, in that I have a better understanding of what RedHat's doing with an update, and better understand what parts of my system are affected.

    While there may be modularity inside Windows, it appears to be intentionally hidden from the end user. I wonder if that's part and parcel of proprietary software, or if it's a side effect of the legal team arguing that Windows is "integrated" and IE can't be unbundled.

    --
    The living have better things to do than to continue hating the dead.
    1. Re:...kernel, your chosen libc, other libs... by Fulcrum+of+Evil · · Score: 2

      I wonder if that's part and parcel of proprietary software, or if it's a side effect of the legal team arguing that Windows is "integrated" and IE can't be unbundled.

      I would argue that it's for ease of testing - you build a development CD and a release CD. If the release Cd passes, you can them release that very Cd to manufacturing.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    2. Re:...kernel, your chosen libc, other libs... by Anonymous Coward · · Score: 0

      I would argue that it's for ease of testing - you build a development CD and a release CD. If the release Cd passes, you can them release that very Cd to manufacturing.

      Its obvious you're not a software engineer, are you? :-)

  52. says it all by 0WaitState · · Score: 4, Interesting

    From the presentation:

    "Anything that crashes the OS is a bug. Very radical thinking inside of Microsoft considering Win16 was cooperative multi-tasking in a single address space,..."

    So the BSODs were caused by the old-timers? Were they also the ones who designed in the feature that every fucking install of an application requires a reboot?

    --

    Remain calm! All is well!
    1. Re:says it all by BlowCat · · Score: 2, Interesting
      Shall we dig up the Linux Kernel 1.x series and point and laugh?
      My first Linux kernel was 1.0.9. I don't remember anything funny about it. I'm sure I didn't have to reboot the system to change the IP address. That kernel could not boot on one of my computers, but once it was running, I could not crash it. Kernel panic was usually caused by new hardware. I don't remember any sudden panic during e.g. compilation.

      What was your first kernel and what was so funny about it?

    2. Re:says it all by HiredMan · · Score: 2



      Anything M$ v3.x ~= v1.x of anything else.

      That seems about right. ;)

      =tkk

    3. Re:says it all by elflord · · Score: 1
      What was your first kernel and what was so funny about it?

      You had to recompile it to get sound to work.

    4. Re:says it all by BlowCat · · Score: 2
      This is true for any version of the kernel. If you have a kernel without sound support, you have to recompile the kernel to get sound.

      Modules solve this problem only in part. Compiling new modules for the old kernel usually works, but is not guaranteed to work. In particular, NFS client support cannot be added witout reboot.

    5. Re:says it all by JaredOfEuropa · · Score: 3, Interesting
      Were they also the ones who designed in the feature that every fucking install of an application requires a reboot?
      Most applications worked fine if you'd click "No" when it asked you to reboot. The reason for most applications asking for a reboot is the way installer tools like InstallShield work under Windows 95/98/NT At the end of an InstallShield script one can insert a statement that handles te reboot. IIRC the Installshield manual suggested a number of cases in which case you will need a reboot (some of these cases did not in fact require rebooting).

      So what happened? Most developers did not bother finding out whether their install process requires a reboot at the end; out of lazyness they just assumed it always does, and they made the user reboot every time "just to be safe".
      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    6. Re:says it all by sfe_software · · Score: 2

      Most applications worked fine if you'd click "No" when it asked you to reboot.

      Also, a lot of applications would require a reboot if being installed under Win9x but not under Win2k. Rather than release two separate installers or check $WINVERSION, they just prompt for a reboot anyway.

      Similar to how most installers tell you to shut down any running applications. This is only required if the installer is updating runtimes that are in use, which for most userland applications is not often.

      I never shut down running programs and almost always click "No, I'll reboot later" under Win2k; very rarely do I have to actually reboot for a newly installed application to work. Even some drivers will work without a reboot...

      --
      NGWave - Fast Sound Editor for Windows
    7. Re:says it all by festers · · Score: 1

      If Windows 3.0/3.1 was Microsoft's first crack at an OS you might have a point comparing it to Linux 1.x. Otherwise, you are just making an ass out of yourself.

      --


      -------
      "Every artist is a cannibal, every poet is a thief."
    8. Re:says it all by puppy0341 · · Score: 1

      No need for digging, it's all there:-).

    9. Re:says it all by LoonXTall · · Score: 2
      What was your first kernel and what was so funny about it?
      I didn't find it terribly funny, but here goes.

      Kernel 2.2.16-22 of Red Hat 7.0. It didn't compile. I had about a 50% success rate compiling my own Linus kernels. (2.4.x, x=0,1,2,4,5,6,9,12,13,17.) Then, kernel 2.4.18-3 on RH7.3 could compile, if you beat on it hard enough, but wouldn't boot.

      I was beginning to think that expecting a release to work out of the box was expecting too much. Then I met the FreeBSD ports system.
      --

      ~~~LXT~~~
      Life is like a computer program: anything that can't happen, will.

    10. Re:says it all by BlowCat · · Score: 2
      RedHat has a policy that all their packages must be compiled by RedHat without manual intervention in some controlled build environment, which only uses RedHat packages. An exception is made for closed-source projects, such as Netscape (they are reassembled into packages without compilation), but not for open source projects. One of the reasons why RedHat doesn't ship OpenOffice is because building it requires Sun JDK, which is not a part of RedHat Linux.

      As far as I know, the Linux kernel itself doesn't have to pass a compile test with maximum features enabled to be released. This is bad and should be fixed.

    11. Re:says it all by elflord · · Score: 1
      This is true for any version of the kernel. If you have a kernel without sound support, you have to recompile the kernel to get sound.

      The difference is that most distributors don't ship braindead kernels nowadays.

  53. Windows, a software engineering odyssey by The+Pi-Guy · · Score: 2

    BIL 9000: I'm sorry (Judge) Jackson, I can't let you do that.

  54. Comment removed by account_deleted · · Score: 1, Interesting

    Comment removed based on user account deletion

  55. Yep. by Anonymous Coward · · Score: 0

    Break the Build... and you get a creature hanging from your office door, I think in my last group it was "The Build Bunny"...

    Basically, before you checking a change, the dev compiles it seperate from the main build...

    ideally, the build will only break if two changes on the same night contradict each other.

    1. Re:Yep. by jesser · · Score: 2, Interesting

      ideally, the build will only break if two changes on the same night contradict each other

      Another reason a change might break the build is if the software builds on multiple platforms. I think this is one reason Mozilla has dozens of computers continuously building it rather than one nightly build that may or may not compile the first time. This doesn't catch all checkins that make Mozilla unusable (we have a "smoketest" team that make sure each nightly works well enough to test it), but it does give everyone immediate feedback if a checkin stops the build from compiling or makes it fail some automatic tests.

      Of course, it helps that compiling Mozilla takes less than an hour.

      --
      The shareholder is always right.
  56. Culture! by binner1 · · Score: 1

    "A successful culture has to accept that mistakes will happen."

    Microsoft must have on hell of a healthy culture then <grin>...not that they're the only ones of course.

    -Ben

  57. SourceSave gripes by Drakonian · · Score: 1
    The Microsoft Mac client for SourceSafe completely destroyed our source database. Let's hear it for backups.

    Is it just me or does SourceSafe really need some merge tools? And the ability to search within a project.... specifiy a label or date then search in all files. Grrr!!

    --
    Random is the New Order.
    1. Re:SourceSave gripes by kaitsu · · Score: 1
      Is it just me or does SourceSafe really need some merge tools? And the ability to search within a project.... specifiy a label or date then search in all files. Grrr!!
      But it does let you search within all files of the project, just click on Tools/Find in files.
  58. Stop what? by Erris · · Score: 1
    1 defect stops 1400 devs, 5000 team members!

    What? M$ QC? Judging the process by the stability of the w2k box I'm forced to use at work, "defects" are ignored, and everyone keeps on keeping on. If you think otherwise, you might have believed that the "uber" patch derived from a month of seminars and group hugs would make Windoze secure.

    I can imagine the circus atmosphere when the blame-shifting and the search for the guilty goes into high gear.

    Steve Balmer says, "It's not a bug, it's a feature, you just don't know how to use it." Now that's the kind of blame shifting I'm used to!

    --
    DMCA, Hollings, Palladium. What might have sounded like paranoia is now common sense.
    1. Re:Stop what? by Anonymous Coward · · Score: 0

      > What? M$ QC? Judging the process by the stability of the w2k box I'm forced to use at work, "defects" are ignored, and everyone keeps on keeping on. If you think otherwise, you might have believed that the "uber" patch derived from a month of seminars and group hugs would make Windoze secure.

      Remember, this is talking about compile-time, not runtime, bugs. You've never seen a compile-time failure in the OS.

  59. an_mo should have read the whole document... by DraKKon · · Score: 1

    the required email checkin was there... but isn't hrere now.. each team sets thier own checkin rules. ass.

    --
    "It's not like your minds are as open as the source you love..." - Me to the majority of Slashdot.
  60. What new features? by Latent+Heat · · Score: 1
    The "viewgraphs" indicated that things really got crazy with W2K.

    So tell me, apart from USB support and the fact that they broke software tuned for the thread scheduler in NT 4 by monkeying with the priority boost, what does W2K do that NT 4 don't? I run apps and I write my own apps, but can anyone tell me what new features are supposed to be there?

    1. Re:What new features? by Anonymous Coward · · Score: 0

      DirectX
      Quotas
      Active Directory
      Filesystem Encryption
      Device Manager and Plug-n-Play
      FAT32 support

  61. I wonder about XP by Anonymous Coward · · Score: 0
    Complete build of win2k time is 8hrs on 4way PIII and requires 50GB of hard drive space

    According to the Partition Magic 7 manual and on-line docs (last time I looked), Windows XP needs 650 Gb of disk space for the install. Kinda makes you wonder what it takes to compile it.

    1. Re:I wonder about XP by SirNonya · · Score: 1

      650 GB??? GIGABYTE???

      I have a *20* GB harddrive, and it's new.

  62. Good Question by killosdnbar · · Score: 1

    I'm interested in an answer to that.

  63. I see you missed the point by Anonymous Coward · · Score: 2, Insightful

    If you go through the whole presentation, you will see that when the Windows 2000 team was working as a single centrally-co-ordinated group, it was slowing them down and causing stagnation.

    It was only when they broke up into smaller, relatively independent groups, that they managed to regain some of the earlier productivity from their NT days.

    And that's how Linux development works -- many small, relatively independent development groups.

    With Windows, Microsoft even ties the applications into the Operating System, with the purpose of making the use of non-MS applications "a jolting experience" (as an internal Microsoft memo said about IE versus Netscape).

    But with Linux, everything is developed to standardized interfaces. That makes it possible for the Kernel development to progress independently of the GUI development, which is independent of the development of the Desktop Managers, which is independent of the development of the Applications, which is independent of Distribution Packaging, and so on.

    Even within the larger projects, such as the Kernel, or Mozilla, the work is divided into smaller, relatively independent modules.

    And that's one of the reasons why Linux development is progressing so much faster than Windows.

    1. Re:I see you missed the point by Anonymous Coward · · Score: 0


      But one of Linux's biggest problems is that things are sometimes a little too decoupled and not rigid enough.

      So you get a mish-mash of poorly integrated and disjointed components.

      There is also an overall lack of vision (at least beyond the kernel hackers' influence).

      Linux, although good in many ways, is also extremely primitive in many ways in comparison to Windows 2000 or Windows XP.

      It's not impossible to overcome many of Linux's "issues", especially if Apple's OS X is any indication of what you can do if you can actually apply some focus not just let developers run around doing whatever the feel like.

      Comparing the time-to-delivery of OS X with any of the Linux GUI's, and taking into account technical elegance, both GNOME and KDE members should all be slapped upside their swelled heads.

    2. Re:I see you missed the point by jeremyp · · Score: 2

      And that's one of the reasons why Linux development is progressing so much faster than Windows

      On what evidence do you base the assertion that Linux development is progressing faster than Windows? Actually, we should talk about open source, not just Linux - Mozilla is not part of the Linux development effort although Linux is one Mozilla platform. Incidentally, Mozilla has taken four years to get to release 1.0. In that time, M$ has released at least two major versions of IE.

      If you analysed the open source development effort, I think you'd find that it is almost unbelievably inefficient in comparison to any commercial software vendor. It's only saving grace is that much of the time and effort put in is for free. There are huge amounts of duplication of effort.

      Take the desktop situation as an example. There is KDE and Gnome, both of which are relatively usable but nowhere near as slick as the current Windows desktop interface. Imagine if all the effort put into Gnome and KDE had been concetrated on just one desktop product.

      Take the desktop PC experience which is M$'s strongest area (only strong area?). Put the M$ state of the art against the open source state of the art in front of the average non-technical computer use. The M$ product looks better, is better integrated, is slicker, is easier to install, is easier to add new hardware to, is easier to use.

      M$, an organisation which is probably much smaller than open source in terms of headcount and which has to pay its programmers has kept ahead of OS in at least one area and it does this by being a managed organisation.

      BTW development at M$ is probably done to standardised interfaces, it's just that they don't publish them all to the outside World.

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    3. Re:I see you missed the point by Anonymous Coward · · Score: 0

      > Incidentally, Mozilla has taken four years to get to release 1.0. In that time, M$ has released at least two major versions of IE.

      Hahahaha. Thanks for giving me my laugh for the day.

      What changed with those so-called "major" releases of IE? Almost nothing!

      Meanwhile, the Open Source developers wrote an entire browser suite, FROM SCRATCH!

      And now, the IE team is struggling to bring out IE 7.0, to catch up to the features of Mozilla 1.0.

      > BTW development at M$ is probably done to standardised interfaces...

      Nope, sorry, but they are not that competent.

      When the SAMBA team was trying to handle the SMB protocol, they found that the published documents were wrong. They talked to the Microsoft engineers, but they had no better documents, nor did they fully understand all the quirks of SMB.

      So the SAMBA team worked out the SMB protocol, with a scope on the line, using trial and error.

      Then, when it was finished, the Microsoft engineers asked for a copy of of the SAMBA team's documentation of SMB.

    4. Re:I see you missed the point by EastCoastSurfer · · Score: 2

      They talked to the Microsoft engineers, but they had no better documents, nor did they fully understand all the quirks of SMB.

      I am sure the MS sent their real smb engineers to talk to the samba team. The samba team most likely spoke to some intern(reading off the same public docs). Do you think any company would send their real engineers out to tell a competitor how their closed protocol works?

    5. Re:I see you missed the point by ranulf · · Score: 2
      They talked to the Microsoft engineers, but they had no better documents
      Do you think any company would send their real engineers out to tell a competitor how their closed protocol works?

      SMB is neither closed protocol or Microsoft's. Is was, in fact, originally in the PC-LAN package developed by IBM and adopted by Microsoft in the early 80s. That's why there was so much public information about how it worked.

      FWIW, NetBIOS was another IBM innovation and that too was well documented publically.

    6. Re:I see you missed the point by Anonymous Coward · · Score: 0

      > SMB is neither closed protocol or Microsoft's. Is was, in fact, originally in the PC-LAN package developed by IBM...

      Yes, but the problems that the SAMBA team ran into were caused, not by the original SMB spec, but by the undocumented extensions that Microsoft had added to it.

    7. Re:I see you missed the point by Anonymous Coward · · Score: 0

      Ok, let me correct myself. Anywhere there was SMB, change to MS-SMB. The point of the post was the interoperability of MSSMB with other, competing OS's.

    8. Re:I see you missed the point by dabootsie · · Score: 1

      Mozilla has taken four years to get to release 1.0. In that time, M$ has released at least two major versions of IE.

      Did you use IE 2.0? 3.0?
      I have, and my god they were horrible compared to the competition (Netscape). Version numbers and the frequency of their incrementation are worth less than the bytes they take up in a data section. Which is to say, less than nothing.

      How can you possibly know how long IE was in development before they finished v1.0?
      Hell, it has been a little less than a decade from first release to the crash-tastic, worm-friendlty v6 everyone gets with their dell entry-level special.
      It makes 4 years to a solid, open browser look absolutely outstanding.

      Imagine if all the effort put into Gnome and KDE had been concetrated on just one desktop product.

      They'd stagnate. It's the competition and experimentation with different ideas that speeds development of both desktop environments. Then there's the matter of preference and choice...

      Some people find one more suitable than the other. I don't even like Gnome or KDE, myself. I find them both clunky and excessive. I find the windows interfaces (9x/2k/xp) slow, unintuitive and put simply, fucking ugly. No amount of theming has succeeded in making the experience any less of a strain. I figure anyone who can actually put up with windows' quirks long enough to get used to them must be a masochist. I find myself using fwvm & blackbox (and more recenrly, fluxbox) simply because I can make them comfortable and they always behave as they're expected. Fast too, no matter the cpu and memory load I heap onto my machines.

      Slightly less related, but I also enjoy the fact that they're available to me wether I'm sitting at my sun workstation, or a BSD box in the lab.

    9. Re:I see you missed the point by himi · · Score: 2

      You'd probably want to ask Jeremy Allison or Andrew Tridgell that - /they're/ the ones who've said that. Somehow, I doubt they're stupid enough to not know what was going on, particularly after spending ten years working on the problem.

      himi

      --

      My very own DeCSS mirror.
  64. You're misrpresenting them by Anonymous Coward · · Score: 0

    Microsoft's claim is that removing "IE" breaks Windows. Since Windows is defined by the Win32 API, and since some of the components that comprise what people commonly think of as "IE" provide parts of the Win32 API, this follows directly.

    A unix analogy: Could you remove the getsockname system call and still build a kernel? Sure. But apps might not work correctly, so you would have "broken" the system -- at least from the 3rd party developers point of view.

    Microsoft can't go around randomly deleting APIs from the system, because then a whole bunch of applications (both their own and 3rd party) would fail to function properly. So they are correct when they claim that removing "IE" (and thus the APIs it provides) would "break" Windows.

    1. Re:You're misrpresenting them by gurensan · · Score: 1

      Core Win32 APIs should never have been implemented in a user-space app - or anything that requires a user-space app. The libraries comprising the basic components for an operable system should not ever have been provided by a browser.
      It's like Corba. Corba doesn't come with the Linux kernel. However, it comes with the windowing system, just like COM or OLE should come with the windowing system.
      OLE and the common controls library (comctl32.dll) come with the browser, too. This is like including gtk+ ONLY with grip, or Motif with only netscape. It's a retarded design decision.
      This tizzy isn't about M$ including extra APIs with IE, it's about requiring the installation of a non-essential app in order to get essential system functionality. I hate IE, but I have to use OLE at work. Well, that means I have to use IE 4.0sp1 or higher... and if I didn't browse the net, that would be quite a bit of wasted HDD space.

      --
      You are all fartheads.
    2. Re:You're misrpresenting them by Anonymous Coward · · Score: 0

      Microsoft's claim is that removing "IE" breaks Windows. Since Windows is defined by the Win32 API, and since some of the components that comprise what people commonly think of as "IE" provide parts of the Win32 API, this follows directly.

      A unix analogy: Could you remove the getsockname system call and still build a kernel? Sure. But apps might not work correctly, so you would have "broken" the system -- at least from the 3rd party developers point of view.


      Finally someone else agrees that Internet Explorer is in the win32 kernel.

  65. Code Review by Bouncings · · Score: 2

    The problem with code review is that programmers have egos. Big ones. They just get arrogent and defensive, even if they're good programmers. I've worked with enough to figure this out, particularly about the ones who have been programming for a long time, but have always done shitty jobs.

    --
    -- Ken Kinder ken@_nospam_kenkinder.com http://kenkinder.com/
    1. Re:Code Review by Anonymous Coward · · Score: 0
      If a coder is defensive about his code in a code review, it probably needs to be defended.

      Of course, when the coder has sold himself as the greatest thing since sliced bread and we look at his C++ code and see array indices starting at 1, we all know why he's opposed to code reviews....

    2. Re:Code Review by Anonymous Coward · · Score: 0

      Of course, when the coder has sold himself as the greatest thing since sliced bread and we look at his C++ code and see array indices starting at 1, we all know why he's opposed to code reviews....

      I would have paid money to be there, just to see the looks on people's faces.

      Really.

    3. Re:Code Review by LoonXTall · · Score: 2

      Note that OSS uses code review extensively. "To enough eyeballs, all bugs are shallow." Furthermore, even OSS programmers make mistakes--I have read with my own eyes a line of a Linux 2.4 kernel patch (NOTE: "stable" kernel!) that changed "#eliif" to "#elif". Would not some sort of review find that? Someone could probably write automated tools for that kind of thing. "Lint" might be a good name.

      --

      ~~~LXT~~~
      Life is like a computer program: anything that can't happen, will.

    4. Re:Code Review by Zenki · · Score: 1

      A gross error like that doesn't need lint. It needs a boot to the head of the developer who decided to edit some code and ignored compiling and testing it before checking it in.

  66. The numbers aren't that large by Twillerror · · Score: 3, Insightful

    Remember that Windows 2000 is essentially everyone who is working on the linux kernal, basic distribution, and X. If the number includes Explorer, which could be likened to Mozzila and includes management, testers, and all the design specialistics ( people who do research to make it user friendly, or handicap accesable, I would think it's pretty small.

  67. NT kernel problem is not software engineering by g4dget · · Score: 4, Insightful
    Compared to the rest of Windows, the NT kernel seems reasonably well engineered. The problem I think is that the end product is a combination of features that marketing thinks really need to go in there for their feature check lists, and pet ideas of the developers/researchers.

    UNIX and Linux are different. UNIX (at least Research UNIX) was constrained by its paradigms: it was vigorously policed by its developers. For Linux, something doesn't make it into the kernel unless it really scratches an itch that a lot of people have--the feedback is immediate and direct: no interest, no developers.

    Microsoft software development doesn't operate in a competitive market of ideas (let alone a competitive market), it doesn't have a paradigm to focus it, and it doesn't even have resource constraints to focus it. It's nice that they make the software engineering work out, but the end result still is mediocre at best.

    1. Re:NT kernel problem is not software engineering by Anonymous Coward · · Score: 0

      Don't EVER use the word paradigms

      Even if you know what it means

      EVER /cry

    2. Re:NT kernel problem is not software engineering by DesScorp · · Score: 1

      A couple of years ago, I attented a seminar on computer security, with Prof. Gene Spafford as the featured speaker. He runs the CERIUS institute at Purde University, and was talking about why MS products had such poor security properties. Quoting him, "Microsoft has world class security people. Unfortunately, the marketing department rules that company". So I would indeed concur with your assesment about why NT isn't as good as it COULD be.

      --
      Life is hard, and the world is cruel
  68. Re:Your design process is the real disaster recipe by Bouncings · · Score: 3, Insightful
    Apparently... to you... if it works... ship it!
    If I had a frag each time I heard a manager say something almost verbatium to that, I would be Quake champion of the universe. :) "If it works, ship it" is the creed of all of corporate America, not just with software. Remember that article a while ago on why software sucks? It's because programmers are rarely allowed to write software that doesn't suck. It's a mandate. Quality control is something us programmers have wanted for a long time, along with the occational chance to refactor, to document, and to test. Such luxeries are never offorded to us, but we always get the blame from the users when PHBs force each step of the development process prematurely forward, if not skip steps entirely.
    --
    -- Ken Kinder ken@_nospam_kenkinder.com http://kenkinder.com/
  69. Requisite Karma Whoring... by wrinkledshirt · · Score: 2, Interesting

    Full text of Proudly Serving my Corporate Masters here...

    Just in case you wanted some more insight into working for the company. Fascinating stuff.

    --

    --------
    Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...

    1. Re:Requisite Karma Whoring... by DaEvOsH · · Score: 1

      Read this. It is quite good, more so for us real developers who gotta work with MS software all day long.

    2. Re:Requisite Karma Whoring... by theolein · · Score: 2

      Good book, just read most of it. One can see the guy worked for Microsoft: Towards the end he couldn't stop using the word "Evangerlism" in every second sentence. If there was ever anything that shows how the company painsts itself onto it's employees, this book is it.

  70. Software Engineering? by Anonymous Coward · · Score: 0

    I spoke with a Microsoft "developer" at a school career fair. I asked him if they used UML in their software development. He had never heard of UML before, so I explained it in more detail. He still had no idea. Now I'm not a great programmer, but EVEN I know what a Use Case scenario is. Sheesh!

  71. Open the code! by sean23007 · · Score: 1

    If it's that hard to build, they can just open the code up and not too many people are going to be recompiling their own version of Windows any time soon. It's not like Windows would get pirated any more, and MS could even charge a bunch of money for access to the code, but not too many people would take advantage of the Windows source code to get a free copy of Windows, especially if it's this hard to build.

    --

    Lack of eloquence does not denote lack of intelligence, though they often coincide.
    1. Re:Open the code! by glwtta · · Score: 2

      they already do charge a "bunch" of money for access to the source code.

      --
      sic transit gloria mundi
  72. Wrong point of reference by Anonymous Coward · · Score: 1, Insightful

    most MS people I know hail win2k as the best microsoft OS ever

    It's their least bad OS ever. Still closer to the that end of the spectrum than the other.

  73. BS detected! by EdMcMan · · Score: 0, Troll
    Take a look at this line:

    Complete build time is 8 hours on 4 way PIII Xeon 550 with 50Gb disk and 512k RAM.

    Now, read this:

    Complete build of win2k time is 8hrs on 4way PIII and requires 50GB of hard drive space.

    The former comes from the article, and the latter from the front page. Microsoft must be using some pretty good compression if they can take 50GB of stuff and put it into one cd.

    1. Re:BS detected! by Anonymous Coward · · Score: 0

      I believe when you compile something you get temporary files... they are then linked together to give you your library or executable file. So, if you look at all the files installed in windows.... think about how many temporary files are required to build the total of Windows. Mozilla's source is something like 130megs isn't it (uncompressed), someone could always try to build it then tell us the full directory size after its built. my poor p2 450 doesn't sound like doing that one tonight.

    2. Re:BS detected! by BZ · · Score: 2

      Two words:

      Library Stripping.

    3. Re:BS detected! by inquisitor · · Score: 1

      It's like how a complete build of OpenOffice requires 6GB of disk space - temporary object files required to link the stuff together. And there will be a *lot* of object files in something like Win2K.

    4. Re:BS detected! by EdMcMan · · Score: 1

      Maybe if you are doing a parallel build on EVERY file at the same time, but otherwise no. I've compiled OpenOffice with 120 MB free, so it obviously doesn't take 6GB.

  74. Microsoft Found Solutions to Their Problems by AaronLuz · · Score: 5, Insightful

    Given the tone of most of the comments here, one might think that the slides merely reveal Microsoft's errors. In fact, they indicate what problems the company faced scaling their NT development team from 200 to 1400 programmers and their solutions. The conclusion is, "With the new environment in place, the team is working a lot like they did in the NT 3.1 days with a small, fast moving, development team."

    As Linux grows, it is headed for the same sorts of problems. The open source movement can learn a lot from Microsoft's struggles. The fact that Linus opted to use a new source control system -- just as Microsoft realized that their in-house system was not up to the task and so switched -- gives me hope.

    P.S. May we please have better summaries for the articles on the front page?

  75. Wrong. The problem is the bad design of Win2K. by Anonymous Coward · · Score: 0

    > A proper comparison [to compiling Win2K] would be building the Linux kernel, the GNU utilities, XFree86, KDE, a browser, a media player, an e-mail program, etc...

    Not true.

    If the design is right, then you can compile just the kernel.

    It is only when the design is wrong that you have to compile all that stuff at the same time.

    Which tells us that the design of Win2K is wrong.

    But then we already knew that, what with Windows' integrated browser, integrated MS Office code, and so on.

  76. Moron by Anonymous Coward · · Score: 0
    You have obviously never had to work on a large project, nor never really cared about doing the best work you can - although you probably like to sell yourself as a real guru.

    Problem is, if you were really a guru you know why code check-in along with a mature CM process is necessary and you wouldn't totally miss the entire fucking point of code reviews - to catch the damn mistakes before they crash the 2 billion dollar communications satellite into the ocean.

    And it's my experience the truly good coders always view any team exercise such as a code review as an opportunity to teach the not-so-gifted some good stuff about coding.

    It's also been my experience that those opposed to code reviews tend to have something to hide - usually code that they'd be ashamed to let anyone else see because it's CRAP that no true expert would ever produce.

    Please get your head out of your ass and try to become something more than a code monkey - like maybe an engineer. Because that's the way the industry is going. Do you think architects or civil engineers who design bridges are allowed to just change a design on the fly?

  77. Only took 1.5hrs for Windows XP by Bob+Snuffy · · Score: 1

    New guy: Why did it take 8 hrs again?
    Bill wannabie: Well, we compiled it on Windows machines and they BOSD-ed on us 5 times!
    New guy: I think I can solve that for XP...

    They used a Linux Server Farm to compile everything!!!

    shhh! don't tell anyone...

    1. Re:Only took 1.5hrs for Windows XP by tunah · · Score: 2
      No! They used win98 to compile 2k (crashed eight times)

      Then they used 2k to compile xp (crashed once)

      OR:

      Time to compile 2k: 8hrs

      Time to drag 'Luna' into 'Skins' folder: 2 min

      Time to play minesweeper: 1hr 28 min.

      --
      Free Java games for your phone: Tontie, Sokoban
  78. Unfortunately, the goals were changed by Anonymous Coward · · Score: 2, Insightful

    The original team's goals, as you listed them, look great, especially for a server OS, and the positive results showed in NT 3.51.

    Unfortunately, Mr. Gates was not as technically competent as the original NT team, and he provided a new set of goals for NT 4.0:

    1. Snazzy GUI - For a server OS!

    2. Good GUI performance - Run video drivers in kernel mode (ring zero).

    3. Cool new features - Good games platform.

    4. Other considerations, such as reliability and compatibility, are secondary.

    The fact that Bill Gates overrode the goals of the original team made it impossible for NT 4.0 to compete with Unix in the high-end server market.

    Now, even if Microsoft happened to get it right with Windows 2000, no one will believe them.

    Unfortunately, if you look at Netcraft's measurements, you will find that the major W2K sites has uptimes averaging less than 10 days, while the major Linux sites tend to have uptimes of around 100 days. That, combined with all the security holes in Microsoft's software, will tell you that they still don't have it right.

  79. Re:650 GB??? GIGABYTE??? by Anonymous Coward · · Score: 0

    Yes, it says 650 GB. It's a typo, but it made me laugh. I knew that each new release of Windows was getting more bloated, but ...

  80. Please Excuse Me If I'm Wrong, but... by SHEENmaster · · Score: 1

    Wasn't the business version of 3.1 caleed "Windows For Workgroups"? To my knowledge, the only ones called NT were 3.51(or somewhere around there) and 4.0(the start of the .0 plague quickly spread to/from AOL).

    --
    You can't judge a book by the way it wears its hair.
    1. Re:Please Excuse Me If I'm Wrong, but... by nick+this · · Score: 1

      Yup, turns out you are wrong. The first NT was NT 3.1. Available in "3.1 Advanced Server" and "3.1 Workstation" flavors.

      Now, there was also a Windows for Workgroups 3.1. That released shortly after Windows 3.1 (Sometime in 92?) About a year after that, Windows NT 3.1 was released. Presumably that was where the "3.1" came from.

      I know this for a fact, because I still have the pretty green NT 3.1 Workstation CD around someplace. Ran like crap on my 16Mb 486-66. And VC++ 1.0 set me back $500. But it was cool to be able to develop 32 bit code. No more segments. Woo!

      You're excused. :)

    2. Re:Please Excuse Me If I'm Wrong, but... by psamuels · · Score: 1

      OK, you're wrong, and you're excused.

      Wasn't the business version of 3.1 caleed "Windows For Workgroups"?

      You have confused Windows 3.1 with Windows NT 3.1. Windows 3.1 was an upgrade from Windows 3.0 and ran on top of MS-DOS 5 or 6. Windows NT 3.1 was the first (I think) public release of a brand-new operating system inspired by VMS and spun off from OS/2 development. They called it "3.1" probably because its user interface was intended to resemble that of Windows 3.1. (You know, just like Windows NT 4.0 was intended to resemble Windows 4.0 aka Chicago aka Windows 95.)

      Windows for Workgroups was a business-oriented version of Windows 3.1, later revved to 3.11 (I've never actually seen WfW 3.1 but I've heard that it existed). I don't know the differences, exactly, except that WfW had more support for Novell and NetBIOS networking.

      --
      "How can you claim that you are anti-crack, while still writing a window manager?" — Metacity README
    3. Re:Please Excuse Me If I'm Wrong, but... by Anonymous Coward · · Score: 0

      The difference in a nutshell was that WfW had protected mode networking support (like Win95), so you weren't using up your precious 640K loading net drivers.

      Later versions of WfW shipped with TCP/IP and DLC (mainframe stuff), along with NetBEUI and a Novell shim.

  81. typical day as M$... by Anonymous Coward · · Score: 0

    programmer 1: "Hey wanna goof off today?"
    programmer 2: "Sure, how?"
    programmer 1: "Lets rebuild the entire MS XP code, that outta take the whole day, enough for us to practically get the day's off with pay."
    programmer 2: "Cool, let go!"

  82. Zerg by Lord+Omlette · · Score: 2

    Slide 19? Anyone? I can't see it in IE 5.01 sp2 or Opera 6.02...

    What is serialized development?

    Anyone use SourceDepot? Opinions?

    WTF is that big X in Slide 31? Zero parallel development?

    --
    [o]_O
    1. Re:Zerg by Anonymous Coward · · Score: 0

      Since SourceDepot is Perforce, check that product out for opinions.

    2. Re:Zerg by Kevinb · · Score: 2, Informative
      View Source is showing that slide 19's content is commented out for some reason. Here it is:
      • Serialized Development

      The model from NT 3.1 -&#062 Windows 2000

      All developers on team check-in to a single main line branch

      Master build lab synchs to main branch and builds and releases from that branch

      Checked in defect affects everyone waiting for results

  83. What about distributed builds? by kriston · · Score: 1

    Last time I looked at Watcom and Symantec's compilers they had distributed build systems. Couldn't that reduce an 8-hour build time on one 4-way machine to less than 1 hour on several?

    Kris

    --

    Kriston

    1. Re:What about distributed builds? by fgb · · Score: 1

      Unfortunately, Visual C++ doesn't take advantage of multiple processors. (Assuming that's what they're using). I built a simple tool that took a VC++ 6.0 project file, analyzed the dependencies and then did a distributed build on a 2-processor box. It cut the build time neatly in half (1 hour to 30 minutes). Then they changed the format of project files with VC.NET and I never bothered to update the tool.

  84. USB devices can require reboot on Win2K by alienmole · · Score: 2

    I've seen Windows 2000 request a reboot when moving an installed USB modem from one USB port to another. So it's not as though unnecessary reboots are something from Microsoft's dark, distant past.

    1. Re:USB devices can require reboot on Win2K by spongman · · Score: 3

      the USB reboot is requested by the 3rd party driver, not the windows kernel.

    2. Re:USB devices can require reboot on Win2K by Anonymous Coward · · Score: 0

      Then you've never installed Visual Studio .NET

    3. Re:USB devices can require reboot on Win2K by alienmole · · Score: 1
      Thanks for the info. It's a plausible theory, but here's mine: required reboots, along with BSODs, are caused by Microsoft's black ops department, intended to keep the productivity of the rest of the world low in order to reduce competition.

      Microsofties add a special registry key:

      HKEY_LOCAL_MACHINE\SYSTEM\PraiseBeToBill\Reboots = No
      ...to their own machines so that they can work reboot-free, while the rest of us have to suffer! ;)
    4. Re:USB devices can require reboot on Win2K by Anonymous Coward · · Score: 0

      Had to reboot for the new MDAC, sorry.

  85. Why sad? by alienmole · · Score: 3, Insightful

    Not everyone can know everything. Why discriminate against good information based on its age?

    1. Re:Why sad? by toofast · · Score: 2

      I agree. I haven't seen this floating around in the last 2 years, and I found it cool to read this stuff.

      People need to stop griping about everything.

    2. Re:Why sad? by alienmole · · Score: 1

      Does "O.J." stand for "Open Java", by any chance? No? Guess that explains it.

  86. How many Indian developers working at MS???? by Anonymous Coward · · Score: 0

    I would like to know...

  87. Re:What no sacrifices to the gods?--ref to Indians by Anonymous Coward · · Score: 0

    Are u implying Indians kill goats?

  88. Slides from Comdex Canada by johnnyball · · Score: 1

    I just checked out the power point slide show and it looks to be the one used at a workshops at Comdex Canada 2002.

  89. The server by user32.ExitWindowsEx · · Score: 1

    I was recently at the Redmond campus and was wondering if anyone knew where the actual source code server was located. What building is it in? I want to know how close I was to it.

    --
    "Evil will always triumph because good is dumb." -- Dark Helmet
    1. Re:The server by Anonymous Coward · · Score: 0

      It's in building 27 south... Or at least it was when Win2k was still in development.

    2. Re:The server by Anonymous Coward · · Score: 0

      Dang it. Didn't get that far south.

  90. GCC is slow like a bitch by Anonymous Coward · · Score: 0

    Use BSD's cc and you will see that GCC is actually dog-slow. Were the compiler available with platform-specific optimizations that could be turned on via a #DEFINE, it would probably go like a greased goose.

    I don't know whether the GCC team holds speed at as high a priority as, say, portability or new features.

  91. two things that strike me by Anonymous Coward · · Score: 0

    they're actually related.

    1) Incredibly large builds

    2) Synching is a problem

    the solution to both is that the code needs to be modularized. How long does it take to compile a full Linux kernel? Maybe 5 hours on a 486. I used to work at Microsoft (as a contractor) -- my job was to babysit a build, handling checkins, merge conflicts, bug tracking and automated testing. I couldn't even wrap my mind around how broken the whole process was. This was only a couple years ago but the build tool was basically a bunch of custom batch scripts. I'm not joking. I don't think it's anything make (nmake) couldn't handle, but since it was too complex for Visual C++ to do with "rebuild all", they were reinventing the wheel. And other teams used completely different tools. There was only one person (out of around 75) who completely understood the build, and maybe a couple others who had any clue about it. A merge took maybe 10 minutes, even if you had to open up windiff and make a couple corrections manually.

    And you know what I spent most of my time doing? Arguing with developers why their checkin was rejected. That, and resetting the machines doing automation tests. They didn't believe in racks then, it was aisles of Dell Optiplexes. And no centralized KVM. I'd hold down 4 powerswitches at once, for seven seconds each (gotta love auto-shutdown), and move down the rows, with a webcam monitoring my efficiency, no less.

  92. Another article.. by Anonymous Coward · · Score: 0

    There's another great article on similar themes here

    They hint that SourceDepot might be perforce's code management system. I saw a talk by a Microsoft guy that hinted that their code revision system was "very similar" to Perforce's... so I think the article is right!

  93. Re:Maybe a new topic/icon? (offtopic) by Saint+Fnordius · · Score: 1

    Maybe Slashdot needs a new topic/icon for old info somebody dug up. Something with a paleontologist, maybe?

    Sorry about the drift away from the topic, but it seemed appropriate. Fnord.

  94. Re:That how the Pros do it. by Anonymous Coward · · Score: 0

    no no, its "God Hates Us All" as well said by our friends in Slayer.

    http://www.slayer.net !!!!!!!!

  95. Presentation was generated on a Macintosh... by GlucoPilot · · Score: 1

    Did anyone else notice that this presentation was written on a Mac? (View Source on the one at usenix.org)

    -- Presentation generated by Microsoft Internet Assistant for Macintosh PowerPoint 98 --

    --
    http://hanselman.com
  96. 8 hours? Forgot something? by DarkHelmet · · Score: 4, Funny
    Complete build of win2k time is 8hrs on 4way PIII and requires 50GB of hard drive space.

    Some goofy Microsoft Intern forgot to put -j 4 along with compliation.

    Either that, or they compiled it on Win9x (which has NO multiprocessor support).

    --
    /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
  97. How clever by Anonymous Coward · · Score: 0

    Now what does that tell us?

  98. Adaptive solution by theolein · · Score: 2

    It looks like Microsoft adapted well to the problem of source control and building.

  99. Software Engineering at Microsoft by epsalon · · Score: 3, Funny

    Well, that's an oxymoron for you!

    1. Re:Software Engineering at Microsoft by acoustiq · · Score: 0
      Well, that's an oxymoron for you!

      You do realize that this is considered to be engineering.

      --

      --
      I romp with joy in the bookish dark
  100. 1400? Try 3100! by Queuetue · · Score: 4, Interesting

    Take a look at slide 19 - 1400 devs, but 1700 testers. Do you suppose that means that Win2k had 3100 people working full-time on it? Lowballing the numbers (55k per dev, 45k per tester):

    1,400 * 55,000 = 77,000,000
    1,700 * 45,000 = 76,500,000
    153,500,000 a year * 3 years (from slide 3) = 460,000,000

    Include an overhead multiplier
    460,000,000 * 2.4 = 1,105,200,000

    And we wind up with a rough US$1.1BB.

    This suggests that win2k represents 20 million SLOC, Just slightly higher than RH 6.2, at 17 and change.

    His cost estimates place RH 6.2 at US$614,421,924.71

    I suspect MS probably pays more per dev, but I have no proof, so I'll stick with the industry averages. Also, testers may have been shared across projects, MS can pool resources and bring overhead lower, etc...

    I'm not drawing any conclusions, just compiling data...

  101. Who cares how much time it takes to compile by Anonymous Coward · · Score: 0

    This doc looks like a joke.

  102. Showstopper versus this Info by zero_offset · · Score: 5, Interesting
    (Yes, user johnjones already posted about Showstopper, but I have more to say than "this book was funnnneee..."). So, as johnjones pointed out, there is a book related to this subject: "Showstopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft" by G. Pascal Zachary.

    What's interesting is comparing what Showstopper says to the claims in these slides.

    The slides suggest early NT development was done by a small team of super l33t c0d3rz who took care of business and frowned upon slacking. However, the picture painted by the book is dramatically different -- people were forced to work around the clock, the team was dominated by a small gang of guys who were basically complete assholes, everybody walked on eggshells for fear of pissing off Dave Cutler, The New Savior, and NOBODY in the group ever knew what was really going on. The whole project was shrouded in mystery, even to people on the team, because basically everything existed in Cutler's head.

    The only thing I see where Showstopper and the slideshow firmly agrees is the slide labeled "Goal Setting".

    I personally have a lot of other opinions about why some of the statistics may pan out the way they do (for example, how much hardware did you REALLY have to test with in NT 3.1 days, versus Win2K?) but I want to stay focused on the Showstopper/slideshow discrepancies, so I'll leave it at that.

    The thing to realize about Showstopper is that it was based almost entirely on interviews with the people who were involved with the initial NT coding effort.

    By comparison this slideshow was written by one guy, Mark Lucovsky, who gets lightly flamed in Showstopper (at best). Oddly, I grabbed Showstopper off my bookshelf and opened it straight to the page describing Lucovsky. Weird. Anyway, here are excerpts from a single paragraph: "...smart but immature... nevertheless angered teammates with his skepticism and self-serving judgements... relentlessly critical of others, constantly probing for weaknesses... 'Until you prove otherwise, you're wrong and he's right.'" Whew, hate to be THAT guy. It gets worse. One page later, a paragraph opens by simply saying, "Many people felt that Lucovsky was a jerk."

    Given that, it wouldn't surprise me if Lucovsky was still just trying to justify the fact that the early NT dev team was comprised of a bunch of flakes who had to burn the candle at both ends to actually deliver anything.

    Please understand I'm not necessarily defending any current MS practices, or even Win2K (which is still vastly superior to NT3.51). I've personally worked VERY closely with groups inside MS at different times (a couple times on-campus in Redmond), and I'll be the first to tell you the company is bureaucratic and packed to the gills with people who don't know what the hell they're doing -- just like every other company that employs tens of thousands of people.

    What I *am* saying is that this slideshow is looking at the past with "rose-colored hindsight" and I believe the motives are suspect at best. Draw your conclusions with a grain of salt. (Enough metaphor-abuse for today.)

    Do like johnjones suggested -- go buy or check-out Showstopper and read it. It's interesting, informative, and it IS kind of funny. It's amazing they were able to produce anything at all. How's THAT conclusion for contrast with the slideshow? ;)

    --

    Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005

  103. huh? by News+for+nerds · · Score: 2

    So what do you mean by "VC"? With those pretty IDE? "cl.exe" is the compiler/linker, and its linker version is 7 in VC7. nt.dll of WinXP has linker version 7.00, and it's enough.

    1. Re:huh? by jefdaley · · Score: 1
      Dug out my old /. account so I don't post as an AC by default.

      What I mean is that the compiler that ships with Visual C++ is *not* the compiler used to build Windows 2000. The Win2K buildlab uses a custom compiler. I'm not sure of it's origin - it may be based off the compiler shipped with Visual C++, but it is certainly not the same compiler.

      JD

    2. Re:huh? by Anonymous Coward · · Score: 0

      Actually it is VC++ although their version of VC++ (at any given time) can have features that may not make it to a public release of VC.

      They do use a custom executable for doing the builds (NTBuild was the name as I recall). The main reason is that building in the VC IDE doesn't support SMP machines. But this is really just a layer on top of VC that allows multiple cl processes to handle separate directories at the same time.

      - SEAL (ex VC++ dev)

  104. OS/2 Woes by Anonymous Coward · · Score: 0

    I used OS/2 for a short while several years back.

    Nothing suprises me after THAT experience

  105. Independent Depot build means leave them out? by lowlands · · Score: 1

    So Microsoft tells us it is impossible to take e.g. all the media stuff out off Windows. But if I look at sheet 27 of the Usenix presentation it says that modules are built separately and thus suggests that they can be left out of an entire build. What do you think?

    1. Re:Independent Depot build means leave them out? by overturf · · Score: 1

      So to translate: that means that they can be left out of the BUILD, not left out of a working system at runtime.

  106. Bill Gates was right! by jachim69 · · Score: 1
  107. Build Time by I_am_God_Here · · Score: 2, Informative

    Team size went from 200 (NT3.1) to 1400 (Win2k). Complete build of win2k time is 8hrs on 4way PIII and requires 50GB of hard drive space.

    Big deal I worked on a project that had, at that time, 34 hours or so, that was on a 2 way I think though and 4 years. But the project is still growing, more then tripled, since I transfered, according to my friend that still works on it.

    --

    Capitalism: unequal distribution of wealth
    Socialism: equal distribution of poverty
  108. What a DISMAL culture FAILURE. by crovira · · Score: 2

    The The NT Culture was supposed to be based on "Portability, Reliability, Security, and Extensibility" ingrained as the teams top priority.

    Portability? Apart from the x86 platform, does it run on any other platform?

    Reliability? I still got the occasional blue screen of death in NT 4. (svcpk5) as of last year.

    Security? We had regular virus sweeps and updates were NEEDED every time script kiddies got a new mod and would hammer at our systems.

    Given the fact that the company serfs were still using NT4 and that they weren't allowed to put in multimedia extensions, Flash and other "Sturm und Drang" sillyness while the Solaris boxes ran Oracle for the databases, I'd say that the extensibility wasn't an issue either.

    --
    MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
    1. Re:What a DISMAL culture FAILURE. by Anonymous Coward · · Score: 1, Informative

      well, ol' NT4 ran on MIPS, ALPHA and there were even attempts on getting it to PowerPC (some ol' apple ceo even wanted macos replaced by Win32!!!, think amelio were his name)

      the new XP is scheduled to be running on IA64 which is a completely different architecture

      cannot say much about the other things, except when you have a LARGE userbase, there's were the script kiddies will be

      also closed source drivers has no way of quality assurance from third parties /Thomas arneATusersDOTsourceforgeDOT.net (damn i need to get that slashdot account workin')

    2. Re:What a DISMAL culture FAILURE. by Nadir · · Score: 3, Informative

      Portability:
      NT4 came out on x86, Alpha, PowerPC and MIPS

      --
      --
      The world is divided in two categories:
      those with a loaded gun and those who dig. You dig.
    3. Re:What a DISMAL culture FAILURE. by Anonymous Coward · · Score: 0

      Portability? What about the DEC Alpha or so?
      Reliability? Really, try Win2K Service Pack 2 or so, the only BSODs or serious crashes that've been on that have been (in my case) from buggy drivers or serious system overheating.
      Security? Well, security hasn't changed much since I was a kid, at least on the defensive end!

  109. Any build time is too long (of course) by NetWurkGuy · · Score: 1

    My most recent work was in engineering build processes for really large builds for a major maker of telecom equipment. Eight hours, even when done overnight, was simply unacceptable. I suspect that Microsoft is making the mistake of trying, at least partially, to eat their own dogfood. PIIIs? Give me a break. I am certain build times could be easily halved if they migrated to real top of the line multi-RISC based enterprise servers from Sun, HP or IBM. Of course, those whould have to be *nix systems.

    --
    "Obtuse Anger is that which is greater than Right Anger" - Lewis Carroll
  110. Re:1400? Try 3100! by Anonymous Coward · · Score: 0

    Industry average?

    Not sure what area you're getting numbers from/about, but in Redmond, 55k per dev is pretty low-ball. Average is probably closer to 65, with notable exceptions into higher ranges.

  111. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  112. obTOC by msouth · · Score: 2

    I agree! What's next? Reporting something borrowed as something blue? When will it end?

    --
    Liberty uber alles.
  113. Aaaah! by Peter+Harris · · Score: 2

    I have only one thing to say...

    (places tongue inside lower lip and rolls eyes) nuuuuh!

    --

    -- What do you need?
    -- Gnus. Lots of Gnus.
  114. Source Safe not used much in Redmond by Genus+Marmota · · Score: 2, Interesting
    I can confirm this. When the dev who had been doing trivial bugfixes on it handed me the project (actually the "reference machine" if you can believe that shit) he said "Source Safe isn't." It got pretty much zero attention while I was there.

    Maybe some folks are using it there, but in product development it was not considered an acceptable option for source code control.

  115. Re:Slashdot eliminates Unicode support by Anonymous Coward · · Score: 0

    ballknocker

  116. 8 Hours? Perhaps they need more memory by complexmath · · Score: 1

    This is their build machine:

    "Complete build time is 8 hours on 4 way PIII Xeon 550 with 50Gb disk and 512k RAM"

    Last machine I had with 512k was an 8086. I think the quad xeon they've got in that box is slight overkill ;-)

  117. Re:Skipping steps [OT] by Anonymous Coward · · Score: 0

    "Such luxeries are never offorded to us... PHBs force each step of the development process prematurely forward, if not skip steps entirely."

    Like the Dilbert cartoon in which the PHB eliminates "market research" and "testing" to make the target.

  118. Re:Cockgobbling moderators by kubrick · · Score: 1

    I know, but I assumed that moderators would think (+1, Funny && -1, Troll) and leave well enough alone :)

    --
    deus does not exist but if he does
  119. "Where do you want the goat today?" (n/t) by Anonymous Coward · · Score: 0

    n/t

  120. Re:Your design process is the real disaster recipe by Jonboy+X · · Score: 1

    Well, it's gotta be _somebody's_ fault...

    --

    "In a 32-bit world, you're a 2-bit user. You've got your own newsgroup, alt.total.loser." -Weird Al
  121. Assimilation by tisaak · · Score: 1
    What I find especially funny is the following line (Slide 13 of 37):
    • Windows
      • Mass assimilation of other teams into the NT team.
    Resistance is futile. NT teams will assimilate you.
  122. Re:notes on rebooting... by des09 · · Score: 1

    Actually, having developed applications with installers, the rationale behind executing the reboot script is part FUD, part CYA. 99% of the time no reboot=fine. Try this sometime, tell your business guys that well we will only be pissing off 1% of our customers...

    Newer Windoze have become a lot better in this regard, but think on this: with linux I can install a new mozilla, new desktop manager, OpenOffice, and a few other goodies, and it doesn't even cross my mind to reboot.

    Last point, when I worked extensively with windows ce.me.nt I rebooted regularly just to "purge the demons" and reclaim lost resources.

    --
    .sigless since 2003