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.
another fp for my logged-in homeyz
yeah, bitch.
-- insomniac --
FP by AC!
Deal.
.o0h aAH
*huh* Sig? WTF?
About baby Tony
My variation is similar to others, yet still my own. Each of ours is different enough in our diaper history to keep our individuality.
I remember a neighbor girl from when I was in grade 1 (6 years old). Her 5 year old brother was in kindergarten. I asked why he never came out to play after coming home from school. She told me that her mom put him into diaper as soon as he came home because he always wet his pants ( kindergarten was a half day so he usually came home in wet pants ). Sometimes I'd see him sitting in his bedroom window wearing plastic pant covered diapers. That's when the fascination began.
At that age I would rather play outside rather then go home to go to the bathroom ( you may not be allowed back out to play if it was getting late ) Occasionally up till age 7 I might wet my pants if not able to find a private bush to relieve myself, but that was no big deal to me, beyond the embarrassment. I was also chronically constipated. To this day I do not understand why and it can still be a problem. This did however lead to messy pants as a regular event. I just couldn't hold it in and it would ooze out over several hours. I know that many people suspected, but it seems to be the nature of people that they will not raise this kind of a subject, so I was only confronted once when I was about 14. A quick denial backed them off. I truly feel that the discoverer is as uncomfortable as the one discovered! I did not come to this conclusion until 25 years later. In between were the diaper curiosities that re-emerged during my teen years followed by semi-fulltime diaper wearing after I left home and was able to live alone. (you've heard all the homemade stuff and first time buys, so I will not repeat them )
The most profound discovery was that once I put myself back into diapers I was no longer constipated. I really believe that diapers have saved my health. I went to doctors all through my youth and went through boxes of administered suppositories and enemas, to no lasting success. Now I'm morning regular, although if I travel, or visit, I immediately become constipated. I seem to have a psycho-physiological need to wear diapers for my excremental bodily needs. I'm not incontinent but do have a very weak bladder. Many times I've had to get off a bus early to find a lane or bush to relieve myself, with no hope of making it home. If I drink one beer I will piss 2 beers worth within an hour, in 6 visits. Very frustrating! I wear diapers whenever I am by myself, in public or not, and always have them stashed under my car seat. ( I wear Goodnights to work, as I only weigh 130 pounds, so they fit like a small pair of underwear)
I prefer to wear cloth for comfort and price but always have disposables around for travel, convenience, discretion and for the morning regularity.
Here is a mirror.
Alan Thicke's Journal
My Slashdot ads say "
Surely a quick goat killing is required at least before check-in
So for something like Windows 2000 is that a long time?
This is called leadership development and training. Most of you code monkeys and weekend hackers will never taste leadership. You will always be told what to do and when to do it. Suck my balls. God hates you all
"Complete build of win2k time is 8hrs on 4way PIII and requires 50GB of hard drive space."
.NET sure does take a long time and a lot of space.
Compiling with Visual Basic
I can see Bill Gates squirming with uneasiness alreayd that anything relevant to his *precious software* be spread without him getting compensation.
My other sig is an import.
Image how good Mozilla or Linux would have been if they had been engineered instead of hacked about by volunteers.
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!
CmdrTaco: You sit here, dear.
CowboiKneel: All right.
CmdrTaco (to Waitress): Morning!
Waitress: Morning!
CmdrTaco: Well, whatve you got?
Waitress: Well, theres egg and bacon; egg, sausage and bacon; egg and snot; egg, bacon and snot; egg, bacon, sausage, and snot; snot, bacon, sausage, and snot; snot, egg, snot, snot, bacon, and snot; snot, sausage, snot, snot, bacon, snot, tomato, and snot;
Slashdot Crew (starting to chant): Snot, snot, snot, snot
Waitress: Snot, snot, snot, egg, and snot; snot, snot, snot, snot, snot, snot, baked beans, snot, snot, snot
Slashdot Crew (singing): Snot! Lovely snot! Lovely snot!
Waitress: or Lobster Thermidor au Crevette with a Mornay sauce served in a Provencale manner with shallots and aubergines garnished with truffle pate, brandy and with a fried egg on top and snot.
CowboiKneel: Have you got anything without snot?
Waitress: Well, theres snot, egg, sausage, and snot, thats not got much snot in it.
CowboiKneel: I dont want any snot!
CmdrTaco: Why cant he have egg, bacon, snot, and sausage?
CowboiKneel: Thats got snot in it!
CmdrTaco: Hasnt got as much snot in it as snot, egg, sausage, and snot, has it?
Slashdot Crew: Snot, snot, snot, snot! (crescendo through next few lines)
CowboiKneel: Could you do the egg, bacon, snot, and sausage without the snot then?
Waitress: Urgghh!
CowboiKneel: What do you mean Urgghh? I dont like snot!
Slashdot Crew: Lovely snot! Wonderful snot!
Waitress: Shut up!
Slashdot Crew: Lovely snot! Wonderful snot!
Waitress: Shut up! (Slashdot Crew stops) Bloody Slashdot fags! You cant have egg, bacon, snot and sausage without the snot.
CowboiKneel (shrieks): I dont like snot!
CmdrTaco: Sshh, dear, dont cause a fuss. Ill have your snot. I love it. Im having snot, snot, snot, snot, snot, snot, snot, beaked beans, snot, snot, snot, and snot!
Slashdot Crew (singing): Snot, snot, snot, snot. Lovely snot! Wonderful snot!
Waitress: Shut up!! Baked beans are off.
CmdrTaco: Well could I have his snot instead of the baked beans then?
Waitress: You mean snot, snot, snot, snot, snot, snot
Slashdot Crew (singing elaborately): Snot, snot, snot, snot. Lovely snot! Wonderful snot! Snot, sno-o-o-o-o-ot, snot, sno-o-o-o-o-ot snot. Lovely snot! Lovely snot! Lovely snot! Lovely snot! Lovely snot! Snot, snot, snot, snot!
- poopbot: providing truth in a deceitful world
SLASHDOT COMMITS UNICIDE
By Serial Troller, 2002-07-04
Slaughters all non-ASCII-speaking netizens, film at eleven
THE HAGUE -- Robert ?CmdrTaco? Malda, the owner of the popular technology website Slash Dot, has become one of the first U.S. citizens to be indicted by the International Criminal Court for crimes against typography. The Court, authorized by the Rome Statute and ratified by over 60 nations, is charged with the duty of prosecuting individuals for serious human rights violations such as genocide, torture, and sexual slavery.
With this prosecution, the Court seems intent on adding a new crime to their docket, the crime of ?Unicide.?
?What this ?Taco Commander? did to the international community is unconscionable,? U.N. Secretary-General Kofi Annan was quoted saying. ?Yesterday, there was a flourishing Unicode-speaking population, numbering in the thousands. Today, there are none. They are all silenced. Their Unicode is either blocked by this so-called ?Lameness Filter? or silently wrenched from their messages.?
Slash Dot is home to at least 580,000 citizens, who hail from every Internet-equipped country in the world. However, many more ? perhaps nearly a million ? live anonymously amongst the ranks of registered citizens.
????? ? ?????, Prime Minister of ???? ?????????????, was outraged when he heard of Slash Dot?s decision to cleanse all Unicode-speaking individuals from their website.
The White House was dismayed by the decision of the Court to prosecute an American citizen for what the President deemed, a ?politicalized persecutorial.? White House spokesman Ari Flescher announced that the U.S. would, if pressed, go forward with their recently unveiled plan to invade the Netherlands, if this prosecution was not halted. ?This is absolutely stunning,? he said. ?That the United States would be expected to even acknowledge the presence of other character sets other than ASCII is an offense in its own right. You either write in ASCII, or you?re with the terrorists.?
Slash Dot, and its parent corporation, VA Software, were unavailable for comment.
-- Linus Torvalds
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
"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.
Adding manpower to a late software project makes it later.
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.
by ASSOCIATED PRESS
VA Software (LNUX) CEO, president and founder Larry Augustin was found dead in his home in Fremont, Calif. early this morning. The death was an apparent suicide, caused by a close-range shotgun blast to the face and head. He was 39 years old.
Police reports indicate that strewn about the room in which Augustin carried out his fate were empty cartons of ramen noodles and discount bulk oat bags. His house was bare of any furniture or furnishings of any worth, and his garage which once held several classic cars was emptied.
An autopsy revealed several thousand VA Software stock certificates, neatly rolled and bundled, in Augustin's rectum. Police are investigating how the five-inch-wide bundle appeared in Augustin's lower intestine unlubricated without any sign of strain on his anal sphincter. Also discovered was an abnormally high concentration of dye in Augustin's bloodstream, which was determined to be the main component of "ledger red" ink.
VA Software, which at different times has been called VA Linux Systems, VA Linux and VA Systems, has seen financial difficulties of late. Most likely to be soon delisted from NASDAQ, the company shares a struggle for profitability with many other dot-bomb era corporations whose business plans include the line "???" directly before "PROFIT !!". VA Software child companies, such as geek weblog Slashdot.org and Star Wars fan site Sourceforge have felt the pinch of the economic downturn.
Augustin is survived by his domestic partner and two adopted children.
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
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.
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.
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.)
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
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.
show stopper from
when has been recomending books on the subject a troll (and it was done by someone with unlimted
I'd love to have that build
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.
it may have taken 8 hours, because they had to reboot twice.
I write code.
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
(n/t)
"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.
"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
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.
h tml
Go get the slides at http://www.usenix.org/events/usenix-win2000/tech.
Afterall, its all about job security.
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"
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
Good engineering (of any kind) starts with design... a plan. I'm glad you don't build skyscrapers or airplanes. 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! 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. 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.
Does anyone know the build time to rebuild every piece of source that goes into a full linux distro?
MAD MAD props on the Ghostbusters quote.
El riesgo vive siempre!
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.
Hats off to the staroffice teams for a nice job well done.
- This sig deliberately left blank. Nothing to see, move along.
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
It seems that Microsoft does not use Visual Source Safe for Windows source code.
if they are using SourceSafe.
word.
It's gonna take me 8 hours on a 4 way PIII to read this whole damned presentation.
(B) + (D) + (B) + (D) = (K) + (&)
...with no life.
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?
"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.
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:
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.
A thousand monkeys with a thousand typewriters...oh nevermind. Monkeys can't code...or can they?
I always figured that their development methodology invloved a room full of an infinite number of monkeys typing into Notepad. Learn something new everyday.
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.
I like music
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.
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.
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?
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??
- Software.
- Engineering.
- Microsoft.
Pick any TWO of those.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.
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
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.'
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.
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!
BIL 9000: I'm sorry (Judge) Jackson, I can't let you do that.
Comment removed based on user account deletion
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.
"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
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.
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.
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.
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?
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.
I'm interested in an answer to that.
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.
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.
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/
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.
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.
-- Ken Kinder ken@_nospam_kenkinder.com http://kenkinder.com/
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...
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!
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.
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.
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.
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?
> 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.
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?
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...
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.
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 ...
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.
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!"
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
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
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.
Not everyone can know everything. Why discriminate against good information based on its age?
I would like to know...
Are u implying Indians kill goats?
I just checked out the power point slide show and it looks to be the one used at a workshops at Comdex Canada 2002.
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
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.
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.
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!
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.
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
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
Now what does that tell us?
It looks like Microsoft adapted well to the problem of source control and building.
(Score:-1, Famous misquote)
Surprised by Unicide! (fuck this shit)
Well, that's an oxymoron for you!
Make even shorter URLs - 8LN.org
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...
This doc looks like a joke.
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
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.
I used OS/2 for a short while several years back.
Nothing suprises me after THAT experience
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?
I guess 640KB really is enough for anybody!
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
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.
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
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.
Comment removed based on user account deletion
I agree! What's next? Reporting something borrowed as something blue? When will it end?
Liberty uber alles.
I have only one thing to say...
(places tongue inside lower lip and rolls eyes) nuuuuh!
-- What do you need?
-- Gnus. Lots of Gnus.
Maybe some folks are using it there, but in product development it was not considered an acceptable option for source code control.
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
"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.
n/t
Now, now -- that's no reason to take their anger out on the poor Unicode character sets. I doubt that SMALL LATIN LETTER O WITH DIARESIS had anything to do with VA bleeding money.
-- Linus Torvalds
Tonight way going to be awesome. I just got home from work, took a shower, and now i was putting on my favorite outfit! It was Friday night and no one was going to stop me from having a good time tonight. I met up with some of my friends at a gas station down the street. We decided to hit a few clubs, then afterwards, if we didnt hook up with anyone, we were going to go to our favorite bar "Shouters". We had the whole night planned out. We were planning to be feeling the effects of tonight until late sunday evening, hopefully not monday when we all had to go back to work. So we all jumped in the cars and drove over to the strip. We went into a few clubs. danced with a few woman, but the clubs just were not jumpin tonight for some reason. We all began to grow bored of dancing and the loud music, so we all decided to go over to Shouters earlier then what we were planning. We started off with a few beers, then we all just said fuck it, and started ordering the hard shit. After a few shots, and a lot more drinks, I was completely waisted! My friends were not as messed up as i was. So i was sittin there for a while and this dude walks in. He walks right behind me and some how he hit me in the back of the head. I didnt know or care if it was accidental, but I jumped up and started to beat the shit out of this guy. My friend all pulled me off of him and the bartender told me to get the hell out of his bar! I told my friends to stay there and finish there drinks. I would be outside waiting for them. I had to piss so bad, and the only place that was open at that time around there was the bar, and since i couldnt go back in there, i had to look for a place outside. I saw an alley on the side of the building, and decided that I should just go into the alley and do my business. So i unzip my mants, pulled out my dick and proceeded to take a piss right there in the alley. After a few seconds i could hear foot steps behind me. "Hey you know you can get arrested for that!" I heard the voice say. "Fuck off" i told him, and kept going. The footsteps got closer, and as i turned to look, i could see that this guy was huge. about 6'5" 260lbs of hard muscle! I squeezed out the last few drops of piss and the guy grabbed my arms and held them tightly behind me. "
What the hell are you doin!" He grabbed my dick. "Here let me shake it for ya" He dragged me further down the alley. I was trying to yell for help, but it was now use, He put his huge hand over my mouth. No one could hear me. He took me inside a door that led into a room with an old mattress laying on the floor. I was terrified! I didnt know what this guy was going to do with me. He took out some handcuffs and cuffed me to some poles that were on the wall. I was laying on the mattress with my hands cuffed to a pole. I was thinking that maybe he was some weirdo that wanted to torture me! I started to sweat profusely. He came over to me and told me to shut the fuck up. He gagged me so i couldnt yell or say anything. He started to pull my jeans off. Then he slid my boxers off. He walked over to a table and grabbed a pare of scissors. I was terrified. I thought this guy was about to cut my dick off. I tried to scream and yell, but it was no use, the gag was doing its job. No one could hear me. I sighed as he brought the scissors closer and he started to cut my shirt. I had never been so relieved in my life. He cut my shirt off, and i was laying there on the old matress completely nude, gagged and bound to the poles on the wall. He started to take his clothes off. He was completely naked. His body was well muscled, with very light hair on his chest and stomach. His dick was huge! the biggest i had ever seen before!! It was as big around as a beer can and about 7" long, and it wasnt even hard yet! He started to play with himself, attempting to get himself hard i suppose. I saw this thing grow into a fucking monster! It was about a foot long, if not longer, and this thing was so thick!!! He walked over to me and flipped me onto my stomach. I saw him reach for a bottle of something, but i couldnt make out what it was. I felt something wet and cold drizzling onto my ass. He grabbed my ass and spread me wide open. He started to rub this stuff all over my asshole. I almost started to cry as i had figured he was going to stick his huge cock in my ass!!! I was so terrified i think that my pubes where turning grey! I felt his fingers rubbing my ass. All of a sudden i just started getting all these emotions and feeling that i had never had before! I mean sure i have thought about being with another guy before, but what guy hasnt. So as i was laying there with him completely in control, I started to get very aroused. I couldnt believe what was happening.
This guy was about to rape me and i was enjoying it! As he rubbed my asshole i just gave in to the pleasure. My cock started to grow and i pushed my ass upward more so i could get my ass open a little more. Then it happened, he plunged one of his fingers into my ass. Oh my it felt amazing. The feeling was indescribable. I started to moan and buck my ass up and down. Then i felt another finger violate my rectum. I figured that he was loosening me up for his huge pecker. Then he pulled out, and i felt it! It huge cock was at the entrance to my pink virgin bung! I felt him thrust his hips forward, and with one single push the head of his cock was inside of me. The pain was so immense, i thought that he had to of done some major damage to my ass. Then he pushed it all the way in. I started to buck and wiggle my body. it hurt so bad that i had tears running down my face. the pain was immense! Just try shoving a bear can up your virgin ass and tell me how it feels. As this guy was violating my rectum, all i could think about was how hot i was getting. My lust was overriding the pain. It started to feel so amazing having his huge prick inside of me. I couldnt believe what was happening. Oh my god, i had never in my entire life felt something as good as this huge dick being plunged deep into my ass. Then he pulled out. He turned me on my back and saw how hard i was. He asked me if i was enjoying him fucking me like a bitch!. I told him that i was and he knelt down in between my legs. He took my 8" cock into his mouth and began to suck it like a pro! as he was sucking me he was ramming his finger in my ass. I started to moan. It felt so good to have another man sucking me. I started to cum like i had never came before. He just kept his mouth right over my cock and took every bit of my seed into his mouth. he pushed himself up with his massive arms and took the gag from my mouth. He leaned his face towards me and began to stick his tongue in my mouth.
My cum was still in his mouth. the taste was incredible. this was the first time that i had ever in my life tasted cum. I had never even thought about it before. As many times as i had the chance to do it before, i just never though about doing it. But i loved every minute of it. I savored the taste of my cum and his tongue in my mouth. I felt chills going up and down my spine as this fucking hunk had his tongue rammed down my throat. The he grabbed my legs and threw them over his shoulders. He spread my ass again and inserted his huge piece of meat! I moaned and gasped as he shoved it back into my warm man hole. Oh it felt so good. I told him to fuck me like the little bitch that i was. Fuck me until you fill my ass full of your white creamy jism!! He started to fuck me so hard. It was amazing. He started to jerk me off as he was fucking me. Just a few jerks and i was cumming again. All over his stomach and chest. my cum was flying everywhere. I had never came like this before.
This was the best sex i had ever had in my life! I saw his face turn bright red, and his body began to shake. He let out a huge gasp and then he moaned so loud. He must have squirted a fucking gallon of cum into my ass. He was jerking for what seemed like 2 minutes straight, when he finally finished he dropped over on top of me and told me that it was the best he had ever had!. He told me how tight i was and how he loved ripping me open!. I told him that it was the best fucking sex i had ever had. He said that he didnt want me to have any hard feelings. it was just that he liked what he saw, and he takes what he likes. I told him that it wasnt a problem, after all. How can you rape the willing?......
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
- Windows
- Mass assimilation of other teams into the NT team.
Resistance is futile. NT teams will assimilate you.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