Live data from Hacker News

Ask HN: Has anyone here worked on the Windows kernel?

news.ycombinator.com

71–80 of 174 posts

Re: Ask HN: Has anyone here worked on the Windows kernel?

#71

Here's my thoughts based on working on Windows in-box code (user mode only, though) across 2 different Windows component teams, totaling about 5 years with a break in the middle. (Split into multiple comments for readability. Some parts removed because other people said it better.) Most importantly, MAKE SURE YOU KNOW WHAT THE JOB IS! Microsoft people don't try to be dishonest, but there can be misunderstandings betw…

An advantage of working at Microsoft that only other huge tech companies can match is that you'll get the chance to interact with many different people, some of whom will inspire outright hero worship among you and your direct coworkers. Those interactions could be in email discussions (having to send endless emails to random people or unarchived mailing lists to get things done or find things out is the curse of Microsoft life), or in API review meetings, or just water cooler talk.

Getting the chance to work with people like that was one of the highlights of my Microsoft career. Some of them are famous or semi-famous outside Microsoft, like David Cutler (mentioned repeatedly in this comment thread), while others are not known outside MSFT at all but arguably should be, while others are respected among a small geeky community (I'm thinking here of 2 Linux kernel subsystem maintainers who joined MSFT after making their names in Linux, and continue Linux work today). If making those connections is something you'd want to do as well, I'd definitely see that as a big plus of an MSFT job.

Re: Ask HN: Has anyone here worked on the Windows kernel?

#72

Earlier quoted context omitted.

> When Robert Downey Jr. was trying to talk Gwyneth Paltrow into joining "Iron Man", he said to her something like, "do you want to work on art house films the rest of your life or do you want to be in something that people actually see?" Sounds like a bastardization of Jobs on convicing John Sculley manufactured by a PR person: Steve Jobs and John Sculley, then PepsiCo president, were sitting on a balcony overlookin…

McDonalds corporate actually employs chefs to develop new menu items, and a large part of the process is figuring out how to work within the constraints of being able to consistently reproduce a menu item at thousands of locations, sourcing the necessary ingredients via the McD supply chain. I'm sure it's an interesting problem and a chef working at a fine-dining restaurant may very well find it a nice change of pace…

I worked at McDonalds some time ago. New managers were sent to "hamburger university" in illinois and come back talking like robots. https://en.wikipedia.org/wiki/Hamburger_University

Re: Ask HN: Has anyone here worked on the Windows kernel?

#73
post #65
post #26

Earlier quoted context omitted.

Can you no longer use windbg to attach to a running kernel on a remote box, and debug the remote box from your development machine? I believe that's how kernel debugging is generally done.

(I’m a Linux kernel dev) Tools like windbg probably work great until you are debugging the code that runs when windbg tries to take over. Or you’re debugging something sensitive to interrupts and it’s literally impossible to keep up with a tool like windbg. Or you a debugging something that overwrites windbg in memory because you have a corrupt pointer. Or you triple-fault the machine and it reboots with so much prej…

Does x86 have a JTAG like / hardware debugger?

Re: Ask HN: Has anyone here worked on the Windows kernel?

#74

Bad stuff: 1. There will be a lot of infrastructure complexity in the kernel, just prepare yourself for that. Even worse bugs! You'll be fixing a lot of bugs, or looking at a lot of bugs, and most of these bugs are from other teams who are interacting with your component! Just order a copy of Windows Internals and get yourself familiar with how thing work. 2. Old ass engineering systems. Just as the interviewers said…

> Windbg is actually great and I will die on this hill

Came here to say this. (Actually kd, but lots of overlap.)

Re: Ask HN: Has anyone here worked on the Windows kernel?

#75
post #68

Earlier quoted context omitted.

As an aside: James Mickens is a treasure. If anybody reading this hasn't read any of his articles or watched any of his talks before stop now and do it. You won't be sorry. https://mickens.seas.harvard.edu/wisdom-james-mickens

Reading this man's homepage he comes across as a insufferable egotist. I couldn't find any trace of didactic value among the self aggrandizing rhetoric not possible to convey with infinitely greater humility and persuasion as well as concision. Edit: reference source decades of being quite intolerable myself. Takes one to know one. And by my experience incredible good fortune and more decades to repent.

The page is supposed to read as a joke. That's his schtick. I think his writing is pretty funny.

Re: Ask HN: Has anyone here worked on the Windows kernel?

#76
post #68

Earlier quoted context omitted.

As an aside: James Mickens is a treasure. If anybody reading this hasn't read any of his articles or watched any of his talks before stop now and do it. You won't be sorry. https://mickens.seas.harvard.edu/wisdom-james-mickens

Reading this man's homepage he comes across as a insufferable egotist. I couldn't find any trace of didactic value among the self aggrandizing rhetoric not possible to convey with infinitely greater humility and persuasion as well as concision. Edit: reference source decades of being quite intolerable myself. Takes one to know one. And by my experience incredible good fortune and more decades to repent.

The page is extremely obviously full of satire.

Re: Ask HN: Has anyone here worked on the Windows kernel?

#77
post #24
post #10

Earlier quoted context omitted.

What pendantry is this? The only thing that you could take away from OP's comment is that they made a metaphor, and since you can make a metaphor about anything, the chosen metaphor says nothing? That's like saying, well, you can use words to construct a lie, therefore, all words are untrustworthy. He's saying that k8s can be powerful, but that that power can be destructive if not wielded correctly. Personally? k8s i…

That's not what I'm saying. I said that saying K8s is like X requires that you show how it is like X first, before you can draw any conclusions from that analogy. Otherwise, it is not an argument and should have zero value in a conversation, other than someone stating their (unsupported) opinion.

I think what you're missing is that they didn't give you an argument, they told you how they felt about Kubernetes. And that's a totally reasonable thing for them to do. You aren't owed an argument. But if you had asked politely you probably would've gotten one.

When it comes to political discussions, I think it is reasonable to demand that everyone who chooses to participate substantiate their claims and make arguments rather than stating opinions. Misinformation about politics is serious, it can be a matter of life and death.

That standard does not apply to talking smack about Kubernetes on the internet. I can tell you that programming in Python feels like a game of operation and that programming in Rust feels like a breath of fresh air. I don't have to tell you why. You shouldn't try to argue against this, either - it isn't something I can possibly be wrong about, or that you could possibly understand better than I. You can tell me about how you feel like Rust is overhyped garbage (I have no idea how you feel about Rust, it's only an example). But why would you try to tell me how I feel?

What is the consequence if my statement goes unchallenged? Someone tries to learn Rust and is disappointed that it doesn't match the hype? Some engineer starts a new project in Go instead of Python because they don't want to play operation? Life goes on.

If you look at it through that lens, you can make sense of it. They're not saying there's a relevant similarity between Kubernetes and vehicles. They're saying that with more complex tools you make more complex mistakes, that Kubernetes may have solved problems but it also gave us more rope to hang ourselves. And I bet you'd have something interesting and productive to say in response to that idea - you obviously have passionate opinions on this subject.

I'd also note, no one ever said not to use Kubernetes. The general vibe was that Kubernetes is stressful to work with. Again, no one is making an argument - they're venting to other engineers.

Re: Ask HN: Has anyone here worked on the Windows kernel?

#78
Part of me fears that you might run into an even worse class of problems as it relates to your points including:

> 1. Infrastructure complexity - Sure, but there would be a LOT of complexity in kernel dev

> 2. Debugging - :) MS kernel is ancient and must be full of cruft. Systems dev is notorious for all sorts of weird timing, coordination bugs.

> 3. Designing systems - You'd have transactions, concurrency, race condition kind of problems which imo tickle the same part of the brain as distributed txns, eventual consistency etc

That said, if you like it, you like it. Can't know without trying. If I were you, and if I had the opportunity - I'd go for a newer variant of this which could look like Apple's M1 team, Tesla's systems teams etc. simply to have a fresh slate to build on.

Re: Ask HN: Has anyone here worked on the Windows kernel?

#79
I did not work on the kernel itself, but wrote NDIS IM kernel drivers (a shim between NIC driver and TCP/IP - like a firewall or load balancer). I found it lots of fun personally. Back in the day I recall using Windbg and later SoftIce for debugging, so when you got stuck there was lots of rebooting to get into a debug session and then careful stepping which could be tedious. It was very challenging, but rewarding and every cycle/instruction counts and every memory allocation had to be carefully allocated from paged or non-paged (never swapped out) pool. I specifically recall you could only call certain functions/syscalls at certain IRQL levels or the kernel would bluescreen, so you always had to know which IRQL level you were being run at. This was 20 years ago so I'm sure much has changed (and probably much hasn't).
Post reply on HN