Live data from Hacker News

Windows: A software engineering odyssey (2000)

usenix.org

41–50 of 104 posts

Re: Windows: A software engineering odyssey (2000)

#41

What's crazy about this is that it sounds like the people writing the code haven't got the slightest hope of even compiling it, let alone running it. They're just writing code, crossing their fingers, and committing it. It's a wonder the thing ever worked at all.

There’s a slide saying few developers could build a whole instance of win2000, but when working at this scale you rarely build everything from scratch locally. You work on your module and the build system will have to build everything nightly. I don’t read this as devs throwing completely unchecked code into source control.

Re: Windows: A software engineering odyssey (2000)

#42
post #37

Earlier quoted context omitted.

> Windows couldn't run for 2 hours without crashing every so often. I`m really curious, which version of Windows you mean? Because I don't remember this on win 3.11, win XP, win 95, etc. etc. Of course there sometimes HW/drivers issue, sometime some programs corrupt system files, etc. etc. But crashing every so often.. thats strange.

Windows 95 and 98 loved to crash because a fly at the other corner of the room moved an atom which hurt the OS' feelings momentarily. Ran out of memory? BAM. An official driver from Intel or nVidia or ATI did something slightly off-time because silicon decided to wait a clock for something, BAM. You had a professional capture card with high bandwidth for that time, and you wanted to capture a video, BAM. A blue scree…

I didn't quite suffer from anything quite this severe, but Windows PCs definitely needed a restart once a day for sure. The weird one for me was installing new software requiring a restart. Some applications would insist on it, presenting you with a modal saying something like "Your computer will now be restarted, save your work and click the Ok button"

Re: Windows: A software engineering odyssey (2000)

#43

Can’t imagine how these Windows engineers feel about the enshitification of their baby. So much time invested into it - must be hard to see it taking this current trajectory.

A core piece of enshitification though is that a product becomes Less Useful over time - Reddit and Twitter lose third party apps, Apple is making its desktop OS more "secure" (read: convoluted and does less stuff) every release. The things you Liked about it, goes away.

Windows, despite its legitimately annoying monetization strategy, has absolutely done the opposite - it does More Stuff every release, and the stuff it did before largely still works.

Re: Windows: A software engineering odyssey (2000)

#44
post #37

Earlier quoted context omitted.

> Windows couldn't run for 2 hours without crashing every so often. I`m really curious, which version of Windows you mean? Because I don't remember this on win 3.11, win XP, win 95, etc. etc. Of course there sometimes HW/drivers issue, sometime some programs corrupt system files, etc. etc. But crashing every so often.. thats strange.

Windows 95 and 98 loved to crash because a fly at the other corner of the room moved an atom which hurt the OS' feelings momentarily. Ran out of memory? BAM. An official driver from Intel or nVidia or ATI did something slightly off-time because silicon decided to wait a clock for something, BAM. You had a professional capture card with high bandwidth for that time, and you wanted to capture a video, BAM. A blue scree…

[dead]

Re: Windows: A software engineering odyssey (2000)

#45
post #18
post #8

Earlier quoted context omitted.

A few years ago when I was there, there were still remnants of that same Dave Cutler NT culture, especially around the folks who worked on minkernel/. I agree there are definitely shitty chunks Windows, but there are still some very solid foundations there to this day.

For example, Windows kernel's write watch feature is useful for writing a GC. Linux lacked (and as far as I know, still lacks) this feature, so Microsoft had to rewrite .NET runtime. https://devblogs.microsoft.com/dotnet/working-through-things...

> Linux lacked (and as far as I know, still lacks) this feature

AFAIK it is possible to do this on Linux (either through mprotect + SIGSEGV or userfaultfd) but it's slow. But there's a work-in-progress patch that the Collabora folks (probably on a contract from Valve if I'd had to guess, as some games do use this) are working on which will add a new fast way of doing this.

Re: Windows: A software engineering odyssey (2000)

#46
post #37

Earlier quoted context omitted.

> Windows couldn't run for 2 hours without crashing every so often. I`m really curious, which version of Windows you mean? Because I don't remember this on win 3.11, win XP, win 95, etc. etc. Of course there sometimes HW/drivers issue, sometime some programs corrupt system files, etc. etc. But crashing every so often.. thats strange.

Windows 95 and 98 loved to crash because a fly at the other corner of the room moved an atom which hurt the OS' feelings momentarily. Ran out of memory? BAM. An official driver from Intel or nVidia or ATI did something slightly off-time because silicon decided to wait a clock for something, BAM. You had a professional capture card with high bandwidth for that time, and you wanted to capture a video, BAM. A blue scree…

Oh yeah it did. The amount of times when you are writing something in Word, then figure it has been 15 minutes, I should save. Only to move the mouse to the save icon only to have the entire system just stop. No error just a total lock.

This is why you can tell if people grew up in that era, you have muscle memeoy of CRTL + S every few minutes burned into your soul.

Re: Windows: A software engineering odyssey (2000)

#47
post #38

Earlier quoted context omitted.

> I think people are forgetting how unreliable Windows was in its early days. Not to mention being as easy to attack as a house made of butter.

And some people still use WinXP, Win 7, Win 8 etc...

Later Windowses are full blown spyware with ads. If I had to use Windows for some reason it would be 7.

Re: Windows: A software engineering odyssey (2000)

#48
post #29
post #8

Earlier quoted context omitted.

A few years ago when I was there, there were still remnants of that same Dave Cutler NT culture, especially around the folks who worked on minkernel/. I agree there are definitely shitty chunks Windows, but there are still some very solid foundations there to this day.

A lot of the original designs of Windows were elegant in theory but never simplified and unified. COM objects are a good example, they were just a pain to deal with from languages at the time (and arguably still are).

Delphi and VB made COM relatively painless.

Re: Windows: A software engineering odyssey (2000)

#49
post #17
post #6

Source Depot was still a thing in Office as of last year when they finally transitioned to Git. Windows started transitioning to Git 5 years ago. Also, they have about 10k people working on Windows (and devices) and about 10k people working on ads nowadays (that paints a good story of priorities). Source: 2nd hand from MS friends

Am still in Microsoft, was part of that transition and can confirm it. We did move stuff we could to other git repos inside Microsoft. SourceDepot is still running for some stuff and is still awful but git is working great. > Also, they have about 10k people working on Windows (and devices) and about 10k people working on ads nowadays (that paints a good story of priorities). I'm not sure I'm privvy to all informatio…

If you have a moment, a tangential question. A little while ago I read a very interesting comment responding to some general "why is this and that broken [in Windows]", that said

> Windows is only $5m a year

https://news.ycombinator.com/item?id=34934946

I was very impressed to determine that was only $416k/mo. Since I read that I've been like "that can't be right." (There's certainly no qualification of scope to work with.) That's roughly 15-20 (~$250k-$333k) senior developer salaries.

I'm very curious how and where Windows practically fits into the pie chart nowadays, mostly just from the perspective of a passively curious person who likes to file away watermarks and yardsticks :)

There's probably some perfectly externally-facing info out there under a rock I'm not sure where to look for...

Re: Windows: A software engineering odyssey (2000)

#50

What's crazy about this is that it sounds like the people writing the code haven't got the slightest hope of even compiling it, let alone running it. They're just writing code, crossing their fingers, and committing it. It's a wonder the thing ever worked at all.

There’s a slide saying few developers could build a whole instance of win2000, but when working at this scale you rarely build everything from scratch locally. You work on your module and the build system will have to build everything nightly. I don’t read this as devs throwing completely unchecked code into source control.

Certainly building everything from scratch is time consuming, but why should it be difficult? Windows 2000 was developed before I became a programmer, but not too many years later (2003) I was a teenager running Gentoo, and while it was time consuming to build everything from scratch, it was easy and reliable. It was also quite easy to switch out or hack on individual parts. In particular I remember fiddling endlessly with the kernel.

Windows 2000 was certainly complex, but was it really substantially more complex than a full Linux distribution (including compilers, desktop environment, office suite, etc)? Why was it so difficult to build from scratch?

Post reply on HN