Robert Mustacchi
👤 PersonAppearances Over Time
Podcast Appearances
I don't know. I think a lot of it is just learning how to learn and learning how to debug, especially in those early years. Because there's a lot of times where I might know the kind of question I wanted to ask, but not how to ask it. Or you or a lot of the rest of the team would kind of come in with some of the detrace or other bits there.
I don't know. I think a lot of it is just learning how to learn and learning how to debug, especially in those early years. Because there's a lot of times where I might know the kind of question I wanted to ask, but not how to ask it. Or you or a lot of the rest of the team would kind of come in with some of the detrace or other bits there.
And I feel like also where one of the great adages that I've kept in mind when being faced with gnarly problems, which is basically write debugging tools when you're stuck. Yeah, interesting. I don't know. I feel like that's a lot of... A lot of it is during the times of really just figuring out how do you go learn a new subsystem that no one's been in really before, and there's no one to go ask.
And I feel like also where one of the great adages that I've kept in mind when being faced with gnarly problems, which is basically write debugging tools when you're stuck. Yeah, interesting. I don't know. I feel like that's a lot of... A lot of it is during the times of really just figuring out how do you go learn a new subsystem that no one's been in really before, and there's no one to go ask.
It's not like people go ask, like, ah, how does this, like, how does the NASDAQ work, or how does the USB NASDAQ work? It's like, oh, just go use some DTrace, go use some MDB, and start figuring it out.
It's not like people go ask, like, ah, how does this, like, how does the NASDAQ work, or how does the USB NASDAQ work? It's like, oh, just go use some DTrace, go use some MDB, and start figuring it out.
I'd say... Often there's some kind of group of questions I'm trying to ask or answer. And it'll be some combination of looking at codes. Basically, I almost always have C-scope. C-scope with Vim integration that I've inherited from Dave and others over the years. Enough that I can set up Dave's keyboard and we can have the same key bindings, which is Shockingly convenient. Wow.
I'd say... Often there's some kind of group of questions I'm trying to ask or answer. And it'll be some combination of looking at codes. Basically, I almost always have C-scope. C-scope with Vim integration that I've inherited from Dave and others over the years. Enough that I can set up Dave's keyboard and we can have the same key bindings, which is Shockingly convenient. Wow.
But that and using that with a combination of DTrace. And this is where, like, oh, I'm trying to think of this. Some of the classic one-liners, like instrumenting a module, like all entry probes in a module and aggregating on ProbeFunk is one. aggregating on certain stacks and just seeing what happens, um, trying to trace control flow or data flow.
But that and using that with a combination of DTrace. And this is where, like, oh, I'm trying to think of this. Some of the classic one-liners, like instrumenting a module, like all entry probes in a module and aggregating on ProbeFunk is one. aggregating on certain stacks and just seeing what happens, um, trying to trace control flow or data flow.
I mean, how do you, that's actually a good point. Cause I think one thing that I've noticed that is having questions in the notebook and writing stuff down in there. Um, I think that's one of the other things, um, that I found really valuable, just trying to figure out, what are you trying to do? Or trying to diagram out on a whiteboard how the subsystem works and flows.
I mean, how do you, that's actually a good point. Cause I think one thing that I've noticed that is having questions in the notebook and writing stuff down in there. Um, I think that's one of the other things, um, that I found really valuable, just trying to figure out, what are you trying to do? Or trying to diagram out on a whiteboard how the subsystem works and flows.
I think I remember we were debugging one of the, what was it? There was something with the X2APIC for the Apex PSM driver. That block diagram is now in OSEnter.c, but it filled up two joint whiteboards. And a lot of it was just trying to understand, how can I understand this control flow well enough to know what's going on, where is everything flowing, et cetera.
I think I remember we were debugging one of the, what was it? There was something with the X2APIC for the Apex PSM driver. That block diagram is now in OSEnter.c, but it filled up two joint whiteboards. And a lot of it was just trying to understand, how can I understand this control flow well enough to know what's going on, where is everything flowing, et cetera.
And that's definitely a useful, just kind of, how can you understand it well enough to explain it to someone else? And I think that's the other thing. I was often sometimes sitting there talking with other folks in the office or on chat and using that as a way to kind of, like, have them ask. Sometimes they would ask me questions.
And that's definitely a useful, just kind of, how can you understand it well enough to explain it to someone else? And I think that's the other thing. I was often sometimes sitting there talking with other folks in the office or on chat and using that as a way to kind of, like, have them ask. Sometimes they would ask me questions.
Like, I know sometimes Josh and I or Dave and I or Patrick and I would just go there and, like, or Alex, we probably did this a bunch at 655 Montgomery. I remember there was that little bench. behind your desk. And I feel like there would be a lot of kind of questions and back and forth there. I'm just like, how does this?
Like, I know sometimes Josh and I or Dave and I or Patrick and I would just go there and, like, or Alex, we probably did this a bunch at 655 Montgomery. I remember there was that little bench. behind your desk. And I feel like there would be a lot of kind of questions and back and forth there. I'm just like, how does this?
You know, kind of the old, like, one of the useful things about being a TA is by the time you can finally explain to someone else, you might start to have an idea of what's going on.
You know, kind of the old, like, one of the useful things about being a TA is by the time you can finally explain to someone else, you might start to have an idea of what's going on.