Live data from Hacker News

The engineer’s engineer: Computer industry luminaries salute Dave Cutler

news.microsoft.com

61–70 of 79 posts

Re: The engineer’s engineer: Computer industry luminaries salute Dave Cutler

#61
post #44

Earlier quoted context omitted.

I don't remember much hungarian in CNF, I do remember a lot of whitespace... // // Comments are always surrounded both by empty comment lines // And by whitespace // // // The return type is always on its own line. // The function name always starts at column 0 and is whitespace delimited, // this (allegedly) was a consequence of search macros that Cutler used // int main ( int argc, char **argv) { // // Even a one l…

Thanks for the example! I especially found the commenting style and return type on its own line to be interesting. Regarding placement of curly braces, did you see them on their own line or at the end? This article seems to imply that CNF had braces at the end: https://blogs.msdn.microsoft.com/peterwie/2008/02/04/pedanti... I'm interested because it seems that lower-level systems programming at Microsoft put braces a…

My recollection is that almost all the code I wrote at Microsoft used Allman style, the only exception that I remember was Midori which used K&R

https://en.wikipedia.org/wiki/Indent_style

Re: The engineer’s engineer: Computer industry luminaries salute Dave Cutler

#62
post #41

Earlier quoted context omitted.

And then Microsoft screwed up NT, over Cutler's objections, by putting in crap code from Windows 95 to make it "compatible" with programs that relied on quirks of Windows 95. It took many years to clean up that mess. (I started with Windows NT 3.51, which was a very nice system. The 16-bit emulation module was entirely optional, and I configured it off. Worked fine, as long as you bought applications certified for NT…

Did any of that crap code from Windows 95 go in the kernel, or was it just in user space?

A lot of it went into the kernel for Windows XP. It took until Windows 7 to clean up the mess inside.

Re: The engineer’s engineer: Computer industry luminaries salute Dave Cutler

#63
post #45

Earlier quoted context omitted.

After reading this, I have so much I would give my right arm to ask him (similar to my sentiments on other luminaries). His focus on quality is a trait that often seems to go unrewarded in his very institution, and I often struggle to reconcile the success I see achieved with the merit based success often insinuated, and the act of "getting things done" often seems blocked with politics and bureaucracy. Clearly howev…

> His focus on quality is a trait that often seems to go unrewarded In most companies focus on quality is something you're precluded from having, and usually it's in the same category as security and maintainability (refactoring). I've been in various planning meetings where I wasn't able to convince the dev team manager to allow time for such things, because they stubbornly wouldn't accept that these things will pay…

Refactoring can be its own source of problems. I've seen far too many refactorings that merely exchanged one mess for another. I'm a bit sympathetic to a manager who is skeptical of refactorings.

Re: The engineer’s engineer: Computer industry luminaries salute Dave Cutler

#64
post #41

Earlier quoted context omitted.

And then Microsoft screwed up NT, over Cutler's objections, by putting in crap code from Windows 95 to make it "compatible" with programs that relied on quirks of Windows 95. It took many years to clean up that mess. (I started with Windows NT 3.51, which was a very nice system. The 16-bit emulation module was entirely optional, and I configured it off. Worked fine, as long as you bought applications certified for NT…

Did any of that crap code from Windows 95 go in the kernel, or was it just in user space?

They moved the entire graphics subsystem into kernel because it was "too slow" in user mode

Re: The engineer’s engineer: Computer industry luminaries salute Dave Cutler

#65
post #17

Earlier quoted context omitted.

Not to detract from the achievement, but the transition to NT wasn't quite as rosy at that. It took many years for apps written for Windows 3.x/95/98/etc. to catch up and run correctly on NT. In the early years, app and game producers had a distinct bias in favour of Win9x (popular consumer OS) and to the detriment of NT (esoteric, less shiny business/server OS). The game compatibility situation, in particular, was q…

I ran an NT4 / 98 dual boot system for years, and in practice the only applications that required rebooting into 98 were games and things that had a hardware component (scanner, digitizer, ...). So in my recollection the transition was actually quite smooth, games left aside.

One of the things that didn't run on NT4 was the AOL client, which was a pretty big thing for consumers at that time.

Re: The engineer’s engineer: Computer industry luminaries salute Dave Cutler

#66
post #9

Dave Cutler is a legend, but he keeps a relatively low profile, so it was nice to watch the rare new video interview with him at the bottom. I especially liked what he said at the end: "I have this little saying that the successful people in the world are the people that do the things that the unsuccessful ones won't. So I've always been this person that, you know.. I will build the system, I will fix the bugs, I wil…

I read Show Stopper that when it first came out, it's a great read. It's up there with Tracy Kidder's "Soul of a New Machine", which I first read when I was a Data General apprentice, and whilst spending free time in college on the campus VAX clone (a Systime 8750).

After reading this article I was inspired to read Showstopper again. Last time I read it was early 2000s. I must have lent it out so I had to order a new copy. Looks like they reissued it a few years back...

Re: The engineer’s engineer: Computer industry luminaries salute Dave Cutler

#67
post #64

Earlier quoted context omitted.

Did any of that crap code from Windows 95 go in the kernel, or was it just in user space?

They moved the entire graphics subsystem into kernel because it was "too slow" in user mode

Yes. Then Microsoft hired Mark Russinovich, the guy who ran "ntinternals.com" and demonstrated it wasn't too slow, to shut him up.[1]

[1] http://windowsitpro.com/windows-server/did-microsoft-shut-do...

Re: The engineer’s engineer: Computer industry luminaries salute Dave Cutler

#68
post #44

Earlier quoted context omitted.

Do you remember any details from Cutler Normal Form? I'd love to learn more about this. From a quick search I see that it uses braces at the end. I'd be curious if CNF encouraged subsystem prefixes (e.g. the "Ke" in "KeBugCheck"). I wonder if CNF had any influence on "Systems Hungarian" (e.g. "dwCreationFlags") that dominates the Win32 API or if that came as an accidental offshoot of Simonyi's "Application Hungarian"

I don't remember much hungarian in CNF, I do remember a lot of whitespace... // // Comments are always surrounded both by empty comment lines // And by whitespace // // // The return type is always on its own line. // The function name always starts at column 0 and is whitespace delimited, // this (allegedly) was a consequence of search macros that Cutler used // int main ( int argc, char **argv) { // // Even a one l…

Cutler Normal Form has open braces at the end of the line, so it should be

    if (argc == 2) {
   
        //
        // explanatory comment
        //
    }
Also, Dave hates Hungarian notation of any flavor.

Re: The engineer’s engineer: Computer industry luminaries salute Dave Cutler

#69
post #44

Earlier quoted context omitted.

I don't remember much hungarian in CNF, I do remember a lot of whitespace... // // Comments are always surrounded both by empty comment lines // And by whitespace // // // The return type is always on its own line. // The function name always starts at column 0 and is whitespace delimited, // this (allegedly) was a consequence of search macros that Cutler used // int main ( int argc, char **argv) { // // Even a one l…

Thanks for the example! I especially found the commenting style and return type on its own line to be interesting. Regarding placement of curly braces, did you see them on their own line or at the end? This article seems to imply that CNF had braces at the end: https://blogs.msdn.microsoft.com/peterwie/2008/02/04/pedanti... I'm interested because it seems that lower-level systems programming at Microsoft put braces a…

I also used to work at Microsoft. CNF was primarily used in the kernel and driver code but rarely in userland code, with the exception of certain tools that were developed and maintained by the kernel team (such as powercfg.exe). CNF was one of the few coding styles at Microsoft that I really enjoyed using due to how clean and disciplined it made the code. I felt that the style really reflected Dave Cutler's attention to detail and quality.

You can see more examples of CNF in the now open-sourced Windows-Driver-Frameworks: https://github.com/Microsoft/Windows-Driver-Frameworks

Re: The engineer’s engineer: Computer industry luminaries salute Dave Cutler

#70
post #45

Earlier quoted context omitted.

> His focus on quality is a trait that often seems to go unrewarded In most companies focus on quality is something you're precluded from having, and usually it's in the same category as security and maintainability (refactoring). I've been in various planning meetings where I wasn't able to convince the dev team manager to allow time for such things, because they stubbornly wouldn't accept that these things will pay…

Refactoring can be its own source of problems. I've seen far too many refactorings that merely exchanged one mess for another. I'm a bit sympathetic to a manager who is skeptical of refactorings.

Definitely, I've seen those kind of refactorings too, but what I mean is that one isn't allowed to fix the architectural problems that make it hard or impossible to implement what's requested. The existing design didn't anticipate certain things which are now impossible to implement without compromising the architecture.
Post reply on HN