2:00
Hey, geeks. Welcome to the 16th episode of Rockin' the Code World with Donna Dave
2:08
I'm David McCarter, and I'm glad you're here. I'm excited about our guest today, Leslie
2:16
I've never talked to her before, so I like talking to new, interesting people. So this is going to be a great show
2:23
So I'm still feeling pretty much under the weather. So I pre-apologize for, you know, making any mistakes during the show because, you know
2:35
it's I've been dealing with some illness for a week now and it's really draining my energy
2:42
So I know a lot of my. See, I'm doing it already
2:49
I know a lot of my viewers are from India. So if you guys have any secret Indian immunity boost things, please post them on the chat
3:02
Gosh, see? Post them on the chat. And if you're watching this recorded, please tweet it to me
3:10
And I'll check it out. I'm sure you guys have some secrets that we don't know in America
3:15
so um anyway yeah today uh this uh this is uh my 16th show and my guest today is Leslie
3:23
Richardson Technical Programming Manager 2 at Microsoft on the Visual Studio team so we had
3:29
somebody on the Visual Studio team a couple weeks ago and now I have another one and I'm going to
3:35
keep trying to get people on the Visual Studio team because there's a lot to Visual Studio
3:38
to talk about really you know there's a lot to talk about the language of course but there's
3:44
also a lot to talk about visual studio i know there's lots of things in visual studio that
3:50
i don't probably don't even know that's there uh and so uh it's it's good to get this out into the
3:56
into the internet you know so anyway so let's get going if my slide deck will work yep so um if you if you don't didn't know last month i released my
4:16
seventh edition of uh david mccarter rocket code coding standards for microsoft.net
4:22
it's the only pure coding standards book out there um i've i've worked on it you know for
4:29
16 years now and this is my 16th year having the book and just a few days ago
4:36
I got an actual copy so it took a while there were some shipping delays and
4:43
some you know stuff like that so I finally got a real copy and so I'm
4:50
excited to you know start giving them away and or selling autographed copies
4:57
I've already sold a couple autograph copies I'm going to be shipping out
5:01
So those of you who ordered one, I'm going to be shipping them out next week
5:05
as soon as I can get to the post office. So I hope you'll pick up a copy and let me know how you like it
5:12
and if there's anything you'd like to see in the next edition. Because I plan to do another one, you know, pretty much every time there's a new .NET version
5:22
so uh because at least when there's big language change it changes in uh dotnet at least so anyway
5:31
so we have some giveaways today i'm going to change the second giveaway i'll explain it in
5:36
a second so everybody on the show will get my favorite code refactoring tool code rust from
5:42
dev express um and then i'll also give away some c-sharp corner swag and which includes t-shirts
5:51
backpacks whatever they have in their offices i guess and so i think we're going to do the first
5:56
one now yep so everybody gets a copy of code rush from dev express please go to dev express.com
6:07
and download your real copy of dev express like i i've said many times on the show dev express
6:14
i'm sorry code rush is my favorite refactoring tool i've been using it ever since visual studio
6:20
came out. Well, it's ever since DevExpress came out, you know, almost probably close to 20 years
6:28
ago. And, you know, I can't tell you how much faster it makes me getting my job done. And so
6:37
you know, they've told me that you guys aren't downloading it. So why not? It's free. You can
6:43
download it it doesn't and try it out why not if you if you don't have any
6:49
refactoring tool you really need to get one because I know Visual Studio has
6:54
refactoring tools in it and they do get better but they're not near as good as
6:59
you know software like a code rest from DevExpress so please please download a
7:06
copy and let me know and let DevExpress know how you like CodeRush
7:15
So I going to change up the C corner GIF giveaway which includes t and pencils and stickers and hats or whatever else they have laying around their offices because you know the last three weeks no one guessed the question you know i made the quick the questions at the end
7:37
of the show easier and easier but no one's guessing them so i'm going to drop the question requirement
7:44
for winning the c-sharp corner gift bag and see how this works so to win the copy i mean sorry
7:50
copy to win the c-sharp corner gif a giveaway uh tweet a screen grab of the guest leslie and i
8:00
me interviewing leslie today and tweet it to c-sharp corner c-sharp live show and real.net dave
8:08
and we'll pick a winner and announce it on the show so get your screen grab software ready
8:14
because next is going to be the interview. So that's how you win
8:19
So I can't make it any easier than that. So I hope somebody wins today
8:25
Simon will be watching the Twitter feed and then announcing the winner during the show
8:33
Okay. So with that, I'd like to tell you a little bit
8:40
about my guest today, Leslie Richardson. She's a technical programming manager, too, at Microsoft, specifically on the Visual Studio team
8:50
And that's why she's, you know, I'm really interested about having her on the show. You know, I was reading her bio today and, you know, with every guest I have, I don't usually read the entire bio
9:02
But I'm going to read Leslie's because, you know, for someone so young, she has a pretty impressive bio
9:09
You know, I sure wish I had this kind of bio when I was in my 20s for sure
9:15
So at least I think she's in her 20s. I'm sorry, Leslie, if I blew it
9:22
So here it goes. Leslie is a program manager on the Visual Studio extensibility team
9:28
She focuses on improving the overall extensibility experience of Visual Studio while currently helping to drive a simpler out-of-proc extensibility API
9:39
She also worked on the debugging team where she debugged developers problems by designing a new debugging tool such as pinnable properties and I hope I
9:51
think I've heard about those, but I hope we get to talk about that on the show and
9:57
improving existing ones such as parallel stack window. Leslie is also involved in community outreach
10:04
as a host of Visual Studio Toolbox Show. I've watched the show and you can catch her singing
10:11
and dancing to the virtual Microsoft and musical video on YouTube. Wow, I didn't know that. So
10:18
you know, Leslie, I, well, welcome Leslie. And, you know, I didn't know you could sing. I wrote
10:27
a song for my mom. I actually started it, you know, when she was only had a few weeks left
10:34
on this earth. And, and I've always wanted lyrics to it. But you know, I wanted female lyrics. So
10:41
maybe I'm going to hit you up later. And if you because I don't know any female singers, but now
10:46
I do. So yeah, expand your network. Yeah, yeah. And you can play piano. That's perfect. That'll
10:52
be perfect on this on the song. Yeah, you're just expanding your band. That's like the whole point
10:55
of this podcast, right? That's right. It's, you know, the music is done. I just need, you know
11:02
I just need the female singer and lyrics. Yeah, you know, the opening music, you know, that on
11:09
the show is, you know, I wrote that and then I, you know, reached out to three of my geek friends
11:15
one locally, actually two locally and one in Germany and we put it all together. And so that's
11:21
you know, that's that, uh, that's awesome. Yeah. Yeah. I think I have the, you know
11:26
I don't want to be all boastful, but I think I have the best opening music of any live video show
11:32
you know, at least, at least on C-Sarp Corner, I definitely have, I think the best, uh, intro music
11:40
Um, uh, but anyway, welcome to the show. I'm glad you're here. And, uh, we were talking before the
11:46
show before anybody asked. Yes, that's Leslie's kitchen and living room. So it's not fake
11:54
You know, it's not fake background like mine. Right. So anyway, so how are you doing today
12:01
this weekend? I'm doing all right. You know, I'm happy as the weekend. You know, can't wait to
12:08
relax. I was actually doing a exhausting workout prior to this podcast. So like I feel invigorated
12:15
and read a chat. I can barely wake up before this podcast
12:21
I feel that. There are days where I'm just like, oh, no. Okay. Especially this week
12:27
Not feeling well doesn't make things any easier, right? Absolutely. I feel like when you're sick
12:32
you have every excuse to just be lazy and hang out. I've watched so much Netflix
12:38
And the other day, I was so freaking bored, I just subscribed to HBO Max so I could watch some shows
12:45
And so anyway, I'm glad you're on the show and I'm glad I have somebody else from the Visual Studio team
12:54
And thanks for having me. And please tell anybody else on your team that wants to be on the show
12:59
Let me know because I like like I was saying earlier, I really want to have more Visual Studio people because there's a lot to Visual Studio that we can talk about
13:10
And there's lots of issues we can talk about, too. Right. So I want to have, you know, not only talk about the language, of course, languages, of course, but then, you know, talk a lot about, you know, the IDE and stuff like that
13:23
And so since since we're kind of all stuck in Visual Studio most of the day, you know, it's a it's a big topic
13:30
Right. Yeah. Yeah. So one hour and a couple guests can't, you know, you know, cover everything in Visual Studio
13:39
But, you know, I was really interested about having you on because you are now on the extensibility team
13:46
And even though I haven't, you know, written any add-ins or anything like that, you know, I use a lot, you know, and to help me get my work done
13:56
And there's also, and I'm also starting to work with the Code Factory team to do some add-ins with them
14:05
And so I'm for the first time, you know, learning, you know, some, you know, code manipulation stuff, you know, using Code Factory
14:13
And and I hope to get it out sometime this year because of what I want to do is I want to write a bunch of extensibility into Visual Studio that basically follows, you know, what I practice and preach in this book
14:28
right so um kind of going beyond you know the the style cop you know the yzer kind of thing but
14:36
you know taking those things but actually you know putting rewriting your code to make sure
14:42
all your methods and everything are set up correctly in your classes and things like that so
14:46
um so i'm just starting that you know now so i don't have a lot to add i don't have a lot to
14:52
put in on that show about um creating extensions but you know it something i always been interested in but you know um never had a lot of time but now I I you know with the release of the book I trying to force
15:09
myself to learn how to do some of that stuff so cool yeah I mean definitely share your thoughts
15:14
when you do get started on it because I I as somebody who's also fairly new to extensibility
15:19
I think there is a lot that can be improved in the writing space definitely so
15:24
yeah yeah well the load the load time definitely needs a lot of help that's for sure um physical
15:32
studio just takes longer and longer to load and uh i think a lot of that is due to the uh you know
15:38
the the add-ins and stuff yeah absolutely yeah so um you know i uh before i forget please please uh
15:48
make a comment if you want to ask Leslie a question live I'll ask we'll ask it to
15:54
her I have a bunch of questions that I've come up with and and I've sent those to
16:01
Leslie so I don't know if you've kind of gone over them but but the first one I
16:10
want to start off with is one it's really interesting it's actually tweeted
16:16
by Mahesh, you know, who runs C Sharp Corner. And Simon, yeah. So as a woman, what challenges
16:24
if any, which I'm sure you have, you face getting into tech? And what advice would you give young
16:30
women, you know, such as yourself and even younger, like the school age, getting into tech
16:36
Yeah. So I think for me, I would say the biggest challenge is just in terms of lack of
16:42
representation. Like I didn't start coding and I didn't start coding until college. I decided to
16:49
major in computer engineering because it seemed cool. And I didn't really know what else I wanted
16:54
to major in. So I thought I'd give it a try. And I ended up falling in love after my first programming class. But the issues that I saw was that sometimes it felt like, do I really belong
17:05
here? Because, you know, I was like, a lot of the time, one of a handful of women in the class. And
17:11
And then as I'd progress into like my higher elective classes, junior, senior year, especially, I'd be the woman in class and especially like the black woman in class, too
17:22
So it's just like, all right, that's cool. I wish I had more people to talk to about my shared experiences, my experiences with that and with tech, too
17:31
So, you know, it can feel a little lonely sometimes. And I considered swapping majors several times in college, which I think a lot of people face
17:42
And I think there's a lot of people and a lot of diverse backgrounds who might start to go into STEM or tech
17:48
but then slowly start to drift away because they can't see themselves represented or they don't have that support system
17:54
And luckily for me, I found a group of awesome friends and allies and supporters in college who I still talk to
18:02
And I like to call them rant buddies sometimes because, you know, if something went wrong or, you know, if I was having a hard time in a class, then I could just go to them and rant and they'd be willing to listen and vice versa
18:15
And it was just really helpful having that support system. So I guess my advice to all the young women out there who are not sure tech is for them or if they're struggling and going through some similar experiences that I am or just anyone who feels like they are underrepresented
18:33
Don't be afraid to reach out to those people that you trust, be it your friends, even some of your classmates, or if you're, you know, starting your job
18:42
finding a mentor especially I think is really helpful and just find those people who you can
18:49
share those struggles with and they are willing to help and support and help and support you and
18:55
help you grow and I think that's extremely helpful and also just if you're comfortable with it being
19:02
an advocate for that change I think helps a lot because you're kind of getting the word out there
19:07
because not a lot of people I mean I mean people think about it but yeah there's still a group of
19:11
people who still need to be aware of it. And so the more people we have aware of the things
19:17
that need to be changed within tech in terms of representation, then hopefully the more we can grow as a group
19:24
Yeah, you know, when I do talk to women about, you know, their challenges, you know, in this world
19:30
you know, I hear a lot of similar stories, you know, it's similar to yours and sometimes much worse, you know
19:37
well, you know, your answer is positive. I've heard a lot of bad things, you know, and, you know, I, I've, I would say in the
19:44
last five, six years, I've been paying a lot more attention to it. And specifically, you know, trying to talk to women about their experiences when I go
19:53
to conferences, because that's really where, you know, because I work at home. So I don't really have a lot of, I don't have anybody to talk to really, but, but I have
20:02
been trying to reach out to, to understand, you know, because being a male and even a
20:07
white male, you know, when I started in this business, you know, all of my classes were male
20:12
I mean, I don't remember hardly any women at all, you know, even when I started working in this
20:18
business, there was hardly any women, you know, in, in programming positions and things like that
20:24
And that's changed, you know, of course, you know, since I've been doing this and
20:29
and it has gotten better, but, you know, I think it needs to get a lot better. You know, I think
20:35
you know, women have a lot to bring to this industry. And there's lots of things that you're a lot better at than we are, you know
20:45
like multi-threading. I mean, it's kind of multi-threading, right? You know, and math, you guys usually are better at math
20:56
And, you know, there's lots of great things. And so, you know, I've always tried to be inclusive
21:01
And but, you know, being inclusive, I think, is more than just it's just knowing about the problem, but trying to understand it and then trying to help people
21:14
Right. And that's why I've been, you know, talk talking a lot more, you know, before five years, five, six years ago, I would, you know, I OK, I know women have a harder time and, you know, and and I'm here for them
21:28
But I didn't really try to understand the issue. And so I've been doing a lot more of that. And I and so it's too bad you have to go through this, you know, because, you know, our world would be a lot better with more of you, you know
21:46
And and so, yeah, it's it's a tough thing, you know, and I hope someday, you know, I can have some, you know, shows that really target the subject
21:58
And and I haven't I've been thinking about it ever since, you know, I came up with the show, but I haven't come up with a great way to do it yet
22:06
So I'm still, you know, have that process going on. But yeah, I think for me, like at least in my personal workspace, I can't wait for the
22:16
day where I don't know every black person in my work. It's like I know all of them, which is cool
22:23
But at the same time it tells me that there still room for growth and there should be more representation Yeah Yeah And And one thing you said you know with your answer was you know you had to go and reach out and try to find these groups of people to give you
22:39
support. And, you know, one thing I've said a lot, maybe not so much in the show, but I do, you know, in other places
22:48
but, you know, just reach out to anybody you think that might be able to help
22:53
you. Right. And because you never know who who really does want to help you, but you have to ask
22:59
Right. Absolutely. Yeah. So to give you an example, you know, my team at work, I'm the only white person on the team
23:08
You know, I'm the only person from America on my team, you know
23:12
So and and one of the things I've been doing in the last year and a half or more is is there's this one woman on my team who's who's probably in your age range
23:24
And she's from Vietnam. And I've been mentoring her a lot at work
23:30
And and not only because I like helping people, but she likes learning
23:34
You know, so so one of the thing about being a mentor is, you know, I love being a mentor for people who really want to learn, you know, and don't want to just have their answers given to them
23:46
Right. And and so, you know, so I've been mentoring her a lot every single week, if not almost daily
23:53
And and I even helped her get into a master's degree program, which she started at the end of last year
24:01
So I'm really proud of her for going, you know, for her master's degree
24:05
And she's targeting, specifically targeting AI and machine learning, I think. Sweet
24:13
And I even help her out with her schoolwork too, you know. School
24:18
Yeah. So those people from, you know, women or different cultures, just reach out to somebody, right
24:26
It can't hurt to ask. You know, there's lots of us just waiting to help you
24:29
But just that you have to ask. It can't hurt. That said, I do want to note, like, also, everyone else should also educate themselves and take that initiative, too, because I think part of the problem with even just trying to ask is that it can be intimidating
24:43
Right. Like I walk into a classroom full of nothing but but dudes sometimes in school and be like, oh, my gosh, this is a little intimidating
24:53
they're like all right and um you know similarly i i've started talking to students a lot more
25:00
and with them it's uh you know while we as microsofties can offer ourselves up as mentors
25:05
sometimes it can be scary as the student to be like oh my gosh but they're from microsoft and
25:11
they probably know everything what am i and here i am just trying to ask like i don't know how to
25:15
write a print statement like what do i do yeah so you know yeah it's that for some reason i
25:23
kind of reminds me of when I first met my favorite guitarist of all time you
25:30
know cuz I'm a guitarist you know and I've been you know working for bands
25:34
doing photography for for since the 80s you know and and so my favorite guitarist
25:42
of all time is some is someone called Steve Vai and he's actually a Grammy a
25:49
a winning artist and he wins the Grammy almost every year, and he is phenomenal guitarist
25:57
I mean, he's just crazy talented, right? And I mean, his first gig in a real band was Frank Zappa
26:06
back in the 70s for those of you who know Frank Zappa is
26:10
he was Frank Zappa's second guitarist, right? And so he's pretty out there
26:16
because coming from the Frank Zappa world. But anyway, I got to meet him a couple of times, actually hang out with him, not only meet him, but actually sit around and hang out with him and talk to him
26:26
And and the first time I was just dumbstruck, you know, I was so afraid to ask questions
26:33
I just sat there, you know, not being able to do anything because I was going, how can I ask Steve Vai anything
26:41
Right. Right. He's just going to think I'm an idiot, you know. and so I think I did ask him a few minor questions right nothing super big but
26:53
the second time I got to hang out with him I came prepared you know and I hang
26:59
out with this in his dressing room and I came prepared for questions this time and good ones you know and so that time I didn't feel so dumb and afraid you
27:08
know because I did prepare myself first you know to ask somebody of this stature
27:13
you know like I for example I heal he does these master classes you know every
27:18
once in a while and I won't even go you know cuz I'm just too intimidated
27:24
guitarist to be to even sit in front of you know Steve I yeah so but don't if be
27:33
afraid that's my I guess my biggest thing is don't be afraid right it's I
27:38
i know rejection hurts you know we deal with it all the time but um you know you're you're not
27:44
gonna you're not gonna move forward if if if you stay afraid right um so anyway um
27:54
so um so let's um talk about some visual studio stuff uh do we have any visual studio questions
28:01
yeah nope come on guys girls girls we need the questions you know about visual studio or being a
28:08
woman in tech anything you want this is your show so let's go to my list of
28:15
questions I guess first and that is um kind of part of the you know the visit
28:21
the the future of visual studio I asked Kendra this and and you know she I don't
28:31
know if she couldn't or didn't want to tell me that you know what's really coming in the next year or so in Visual Studio
28:36
But, you know, so let's talk about extensions at least. So at least in the future of Visual Studio, you know, one of the things that, you know
28:46
two things I've listed is, you know, the loading, unloading, performance issues
28:50
And when I talk about loading and unloading, I don't see apps doing this anymore
28:55
I mean, add-ins doing this anymore. And maybe they just don't want to or maybe they can't anymore
29:01
but you know for example you know code rest from dev express right um they used to have a feature
29:08
where you know while you were in visual studio you could unload it right and then you could load it
29:14
and that way we didn't have to go to the extension manager and reboot visual studio and it worked
29:20
really well uh but i don't see abs doing that anymore and so so so that's what i kind of mean
29:27
by loading and unloading performance problems i think you guys know about yeah and and then and
29:32
then you know and also you know i was talking a little bit earlier about you know working with um
29:38
the guys from code factory is you know and so what's the road map of getting extensions
29:45
you know uh moved to done at five yeah yeah because right now they're they're still in the
29:51
framework so you know i know a lot of us are probably a lot of people are wanting to go to uh
29:57
down at five for purely that, performance uh increase that you can get just by moving down at five absolutely um yeah so i can
30:07
talk about it a bit but like kendra i'm gonna have to dodge some obstacles that i can't quite share
30:13
at the moment but um yeah so on the hot reloading side uh which i believe that's what you're
30:19
describing being able to disable or enable an extension without having to restart yeah i get it
30:26
that is something that is on our radar that we're currently working on as part of our Gladstone
30:31
or as part of our new extensibility model effort. And the main goals of that are to make it easier to write extensions
30:41
while also maintaining the same functionality that currently exists with the current model
30:46
while also making it more reliable. So when I think of performance, a piece of that, I think of reliability
30:53
So you might have had times where an extension may cause Visual Studio to hang or, you know
31:00
yeah, or cause a tool window to freeze or something like that. And that can be really frustrating for a lot of people
31:04
And part of the reasoning for that is because with the current model, it is in proc
31:11
So that model has a lot of functionality and complexity in part because it has almost free
31:17
reign of everything that Visual Studio can do for better and for worse. So, yeah. So what we're doing with this new model is pulling it out of proc predominantly so that we can still keep those same functionality pieces
31:31
But if something goes wrong in that extensions code, it's not going to directly cause VS to crash or hang or any of those fun, fun activities, you know
31:41
Yeah, I get that a lot, unfortunately, you know. And I'll go ahead. I didn't know
31:49
Oh, that was kind of my general one. Did I hit all your points
31:53
Yeah, yeah. I think two things I thought about while you were giving your answer, two things I've kind of wanted, you know, a lot in Visual Studio
32:03
And one is, and I think I've talked to Mads about this, but, you know, one is, you know, I'd like a way to restart Visual Studio without extensions
32:14
I know you could do that by the command line, but I'd like it in Visual Studio, right
32:18
So not a safe mode, right? But, you know, no mode. So you can kind of start figuring out which extension is causing the problem
32:28
Because that's one of the problems, you know, is trying to figure out which extension is doing it, right
32:34
Yeah, you're not alone in that. Yeah. And along with that, you know, it's kind of useful when we get those little yellow things at the top of the screen saying that this extension is causing a performance issue
32:52
And usually I just say ignore because most of the time I don't really know what it means or what I can even do about it
32:59
Right. But, you know, as far as, you know, kind of looking at, you know, what extensions are causing the problems or maybe, you know, what extensions are causing the biggest performance problems
33:10
Right. Is it would be nice to have some kind of window in Visual Studio
33:14
Maybe you can't do that because they're in proc now. But, you know, it'd be nice to have a window kind of showing you, you know, all the extensions that are loaded and how much memory they're taking up
33:24
And, you know, kind of like the task manager, but for, you know, for extensions
33:28
I know people have talked about that, but I'm going to say it now that I would really like that
33:34
So, yeah, I think that's a cool idea, definitely. And yeah, and I think with performance and those kinds of issues as a whole, that is definitely something that we're really honing in on moving forward in the near future
33:48
I can't really say much more than that, but we are definitely prioritizing performance and trying to fix those issues because everybody has them
33:56
and it's not fun for anybody. Yeah, I know. And I've actually, I think I've had to limit
34:04
the number of extensions I actually use because with 16 gigabytes, I'm kind of having to do that now
34:13
until I go to maybe a 32 gigabyte surface when this one craps out
34:22
But what was I just thinking about extensions? moving it down at five
34:32
I just had an idea about extensions. Yeah, it'll come back. Cool
34:36
My head is kind of all clogged up, so it's... No worries
34:43
So, you know, one of the other things on my list, because no one's asking questions, come on, everybody
34:51
Ask some questions. I know there's thousands of you watching, So somebody's got to have a question. Come on
35:01
Hey, Simon, did anybody win the screen grab contest yet? He'll say it on the chat, maybe
35:11
So, OK, so one of the things I've been wondering and I did talk to Kathleen about this and that is, you know, being a Microsoft MVP, you know
35:23
I don't get a lot of sessions about Visual Studio at all, you know, in, you know, the, you know, the, the, the NDA meetings that we have, you know, there's hardly any Visual Studio. So I would say again, that I would like to have more MVP sessions about Visual Studio and the tooling and, and, and especially when you guys are looking at, you know, looking at doing something, right. So we can kind of help you kind of help you guide, you know, if that's a good idea or not a good idea, and maybe have some
35:53
ideas about how to make it better, right? But I just don't see a lot of it. You know, I see
35:57
a lot of Azure, you know, meetings like this, but I don't really see a lot of Vizzle Studio
36:03
meetings like this. Yeah, really. So there's my plug again to have more of those
36:09
That's totally fair. Yeah, I've really only been involved in one MVP summit. That's what I think
36:17
of first when I think of MVP stuff. And I did have
36:21
a talk I was going to do on debugging tips and tricks, I remember one year, but it got
36:25
cut just due to other sessions. So, yeah, that's interesting that there's not
36:33
more Visual Studio related things, especially since you have the chat time where you can just
36:39
ask the team anything. I feel like it would make sense to have more Visual Studio sessions
36:46
Yeah, I think so. too, because, you know, it's I mean, there's ideas in Visual Studio that are mine, you know, because
36:52
at the MVP summit, you know, we were coming up with ideas and they picked two of my ideas and said
36:58
yep, we're going to do these, you know. And so, you know, I think the MVP community has a lot to
37:02
give to this space. And so don't forget about us. Yeah, definitely. And I mean, I'm assuming there's
37:08
like a survey or evaluation form after the fact and stuff, too. So like call all your MVP buddies
37:14
and tell them that you want more Visual Studio stuff. Yeah, yeah
37:18
I will vouch for it too next time I'm on that chat
37:23
Anybody that an MVP watching this please tweet the MVP award and say we need more sessions on Visual Studio There you go
37:37
So, you know, talking about, you know, extensions and performance and things like that
37:45
Is there anything that we can do now besides disabling extensions to kind of speed up the loading of Visual Studio to make that better
37:56
Because my Visual Studio now takes at least a couple minutes to actually be useful
38:01
And so I'd like to know if you guys have any tips to maybe make that, you know, a little better, some secrets or something
38:09
Yeah, so I can kind of speak from at least several sections
38:16
So like from a debugging standpoint, I'm familiar with just enabling just my code
38:22
Even something as simple as that can help reduce some performance issues
38:28
There is this cool new feature called solution filters. And it's specifically for people who have large amount of solutions and files and stuff
38:38
So the idea is when you boot up Visual Studio, you can filter which solutions you'd like to have loaded on boot up of Visual Studio
38:49
So instead of going through everything that you have in your project, it's only going to load initially the things that you specify
38:59
So that's a new feature that everyone should try out because I know the solution filters team and PMs and engineers would love to get feedback on that
39:09
And how do you get to that? Is that an options or is that something you do in the solutions window
39:15
Yeah, I'm not entirely sure. And that's one of the things the team's working on is discoverability of that
39:22
I do believe there's a blog post on it called, if you Google Solution Filters Visual Studio, I'm sure it would come up
39:29
Okay. I'll do that tomorrow and add it to my blog about the show
39:33
Sweet. Yeah. Give it a try and share feedback. As far as general perf goes, there's things that are in the works
39:40
But again, I tell you, but it's top secret at the moment
39:46
Is it top secret? Are you going to change the version name? Yeah, okay. You hesitated. Well, we can't say yet
39:58
yeah um if you're looking for guests to talk more about performance in general i would recommend
40:06
varoon who i can share their full name after this because i we go on we're all on a first name
40:11
basis at work so i don't know anybody's last names if i'm being honest but varoon on performance
40:16
team of visual studio is pretty much the head of like all things performance and would know a lot
40:22
more yeah yeah let me know after the show hang out after the show ends and we'll and you can give
40:27
me his name. Yeah. Yeah. Great. Yeah. I'm always looking for, for more people to come on the show
40:35
That's for sure. I'm trying to fill up March. I've got most of March done. I think I have one more
40:40
slot open. So, um, Oh, and I guess the other thing also debugging related is sometimes profiling
40:47
tools can be on by default and such as like CPU usage and stuff. And those can take up
40:52
those can cause performance issues too. I always turn that off. Yeah
40:57
Whenever I, you know, have to reinstall Visual Studio, that's the first thing I turn off is that CPU monitor thingy
41:04
Cause that really drags down the performance of Visual Studio. Yeah. Yeah
41:09
I don't really use stuff like that. You know, I use actually third party
41:13
you know, products to do, you know, performance monitoring and things like that. Yeah
41:19
Interesting. Yeah. Cause I mean, I think the profiling tools are plugged for my debugging diagnostics team out there
41:26
I think they're really cool. No, they're great. But what I mean is, you know, I use a tool called .NET Memory Profiler, you know, that really digs into the memory
41:36
You can drill down all the way down to actually where the issue is
41:40
And you can even see the values and stuff like that. And so, you know, before I release any major product I run, you know, I run I run that against, you know, the code is close to production as I can get it
41:55
Right. And because, you know, I've told people a lot of times, you know, over and over again, that that is the only way to find the last bit of performance and memory issues is by running the code in near production
42:08
in a near production way by using an external tool like this
42:15
on the compiled code, right? That's the best way I've been able to find
42:20
issues and performance problems. And even I've gone to the Microsoft, I've gone to the MVP Summit and said
42:28
hey, whoever is, who has ever charged that team? I go, do you know you have a performance problem
42:34
in this HTTP thingy way up here? And they go, really? i go yeah i can send you the info on it you know so uh yeah so unfortunately i don't see a lot of
42:45
people using tools like that and it's too bad you know because ivy worked at a company that said yeah
42:51
we'll figure out the performance problems after it gets into production i'm going profiling tools
42:55
don't get enough love no they don't they don't and you know and and generally i've found they're
43:03
really difficult to use right and especially um and i don't mean difficult running them i mean
43:10
difficult um yzing the results right you know whether you know whether you're looking at you
43:15
know something you know like the output from the dynamic memory profiler which does the best output
43:21
i've seen of any any of these kind of tools um but they even if you look at the you know the
43:27
windows profiling stuff and things like that it takes a lot of time to dig through the results and
43:33
and try to understand what's going on. And especially if you're, if that's not your job
43:37
right? So you're trying to figure out, you know, what does this really mean? You know
43:42
what does this pin thing in memory mean to me? Right. And, and so those, that's where it gets
43:49
difficult. And that's where, you know, I usually tell people that you really need to have somebody
43:53
pretty senior on the team to be doing this, uh, before, before release. Right. Uh, because usually
44:00
they're the people that understand these kind of things better than maybe the younger people on the
44:05
team but um i hope that wouldn't be the case moving forward yeah yeah yeah at least from the
44:11
visual studio profiling side i think there's been a lot of work done lately to expand the capabilities
44:18
of that profiler in particular and um make it more accessible to everybody yeah because i think a lot
44:24
of people don't realize that profiling tools are important until you know things hit the fan
44:30
right it's like oh there's a problem yeah right until you until your whole electrical grid goes
44:37
out then you start worrying about it right so yeah yeah yeah unfortunately that's the way a lot of
44:47
teams are yeah we won't worry about it until it something happens I even worked at this company
44:51
where I asked the architect we had two lead architects and which to me were kind of useless and and I asked them before the you them before we released the first version of our product I said okay so we got to talk about security
45:06
He goes, nah, we won't worry about it until there's a problem. Yeah
45:12
What are you talking about? You're a lead architect. This is what you're telling me
45:17
Oh, man. I don't think you could get away with that now because this was like 10 years ago
45:22
but security, I think, is a lot more on the top of people's minds than it was 10 years ago
45:28
Yeah, definitely. Still no questions. Man, maybe everybody is... Everyone's content with VS, I guess
45:37
I guess. I guess so. We're getting close on the end of time, so maybe we'll get..
45:46
And I don't know if you can answer these questions either, but one of the things... oh before we move off the debugging thing um i did want to talk a little bit of what did i want
45:56
to talk about debugging um you mentioned pinnable properties earlier oh yeah so what's pinnable
46:03
properties i think i've heard about that but it's yeah i don't think i've used them because i don't
46:08
i can't remember what they are yeah so that's what was one of my personal favorite debugging tools
46:13
uh the idea is you know if you've ever opened up a list like or if you opened up a
46:19
a tool tip and saw like a long list of items, specifically objects
46:25
but they don't give you specific information. You wish you could just browse that entire list
46:30
by a particular property or something like that. Yeah, yeah. Yeah. So the workaround for that used to be
46:36
and it still exists, this attribute called debugger display. And this was something that
46:40
Yeah, I used that. Yeah. And you could add it to the top of your class
46:44
and specify which properties you want presented throughout your entire debugging environment
46:49
it. The problem with that is that not a lot of people know about it. And when I first started
46:53
doing tips and tricks, debugging talks, I'd show it off debugger display and people would be like
46:58
wow, that's really cool. And everyone would be talking about it. And everyone would be like, is that new to VS 2019? Like, no, I think I don't. It's been a while and a while
47:06
Yeah. Since the dawn of time. So yeah, I approached the team like, hey, this is really
47:12
cool functionality, but nobody knows about it. So let's try to make a more discoverable way of
47:16
performing that same action. So that's how Pantable Properties came about. And so now
47:21
instead of having to figure out the syntax and write code at the top of your class, there is a
47:27
little pin icon that will appear if you're in either a watch window, like autos, locals
47:34
or if you're in a tooltip and there's like a pin icon when you hover over the object or the
47:41
object's property. So you select the property that you want, click the pin, and it will pin
47:45
that property to the top of the list and now you can easily access and see all of your objects
47:52
based off of particular properties that interest you. I think it's really cool. It saves people a
47:57
lot of browsing time. Yeah, I'm going to have to check that out. Yeah, that's great because
48:04
lately I've been writing a lot about the debugger display attribute. I think I wrote
48:11
last year or the year before the series of object-oriented programming articles on C-Sharp
48:19
Corner. And most of those articles just focused around encapsulation because that's one thing I
48:25
don't see people doing well at all. But anyway, so, you know, I think while I was writing those
48:34
articles, I discovered the debugging display and I go, wow, this is so cool, you know? And so
48:39
So, you know, it's literally the, you know, I have a base class I use for all of my data objects
48:46
And so it's literally, you know, on that class because I use the ID as the, you know, as the debugger display for that
48:55
You know, I think at work, all of our model classes have debugger display on it
49:01
And usually we're, you know, doing the main ID or something like that as the debugger display
49:06
But yeah, those of you who haven't used it, it's just an attribute. It's really easy to use
49:11
And when you're, you know, just, you know, trying to go through the code and figure out what object is what is so great, you know? Yeah
49:18
And if you don't want to write code to the top of your class, then you can use the pinnacle stuff, right
49:23
Yeah. Yeah. That's a, yeah, that's great. I'm going to check that out
49:27
I know there's a lot of stuff like this that we don't know about. Oh, yeah. Like, I could talk about the same debugging tools for days. And I feel like there's still a lot of people out there who don't know about it. Because I mean, I don't know about you. But when I was in school, I didn't really learn how to use a debugger properly
49:44
No, no. I just put print statements everywhere and maybe use a breakpoint every so often. And that was about it. So yeah, and I feel like a lot of people were the same way. So there's a lot of people not taking advantage of the really cool tools that can save you frustration and headaches that come with debugging
49:59
Yeah. And because, you know, quite frankly, we spend a lot of time in debugging
50:04
Yeah. Everybody does. Probably more than coding, actually. Yeah. I talk about it all the time
50:10
I like to use the ogy. It's like waiting in line for a theme park ride
50:14
It's like you spend more time in the line. That's annoying. It's hot. Yeah. Than you do on the ride
50:19
A.K. running your code and seeing it work successfully. Yeah. Oh, the other thing I wanted to talk about, along with the debugging subject, because I was just doing this right before the show, and that is benchmarking, something else I don't see people doing
50:35
And so all of my books now, you know, have benchmarking. A lot of my articles have benchmarking results in it, you know
50:44
And I'm thinking about a new article right now about the object pool
50:48
And I've been running some benchmarking on it to see, you know, just how much more performance you can get by using an object tool than not
50:57
And so everybody out there, if you're not benchmarking your code, you need to
51:03
You know, there's a really great tool that I use and Microsoft uses called benchmark.net
51:09
And I think that's what it's called. And so if you if you aren't benchmarking your code, you have to, because how do you know if it's faster this time than last time
51:18
Right. The only way you know that is by benchmarking your code and benchmark.net is awesome
51:24
It's so many features and to help you. And Microsoft uses it. The .NET team uses it
51:30
So it's got to be good. Right. Yeah. Yeah. So we use it internally. Then it's it's probably good
51:35
Yeah, yeah, yeah. So everybody please benchmark your code also, you know, and I'm starting, you know, I hope to get my new performance book out with the release of .NET 6
51:49
And so pretty soon I'm going to start, you know, working on all those new benchmarks and things like that for the new book for .NET 6
51:58
But yeah, it's something else. You know, I spend more time benchmarking, debugging, all that stuff than coding, right
52:05
Oh, writing unit test, you know, coding. I even have a meme about this, a .NET Dave meme about this that says that if you're spending most of your day coding, you're doing it wrong
52:17
Yeah, fair. Because that's not what we do most of the day
52:21
Yeah. So anyway all these are great topics and I hope we get to talk more about them and specifically more you know with more people from the Visual Studio team to help us in these kind of issues you know
52:38
So I believe Kimberly has a question. Oh, someone has a question
52:44
If you only had three debugging tools to use, which ones would they be? Shoot
52:49
Okay. So I'm going to exclude the usual suspects. So basic great points and stepping tools
52:53
um so uh panable properties i genuinely use a lot so i would keep that one it's just easier to read
53:01
when i'm debugging all day uh i like to use it alongside the search tool in the watch window as
53:08
well because it can help you better filter down what you're looking for too so if you use
53:13
panable properties together with search it can really save you a lot of time and i really like
53:20
run to click. And that's that green arrow that shows up when you hover over a line. So if you
53:25
have a break point set somewhere and you want to fast forward all the way down to like the bottom
53:29
of a function, for instance, but you don't want to have to step and spam F11, right? You can
53:35
use the green icon to automatically step through all of that up to that particular line of code
53:42
Oh man, I keep forgetting about that one. I just do another break point. Yeah, don't do it. No, don't. Don't add so many breakpoints. You don't want to see red everywhere. Yeah. Yeah, I use that one a lot. Saves a lot of time if you don't want to set a breakpoint there. And yeah, it's great. And if you want to pass forward out of a loop, it can be helpful in that regard, too. So, yeah
54:06
Great. Was that three? That was the. I think that was three. Pinnable. Yeah
54:11
Pinnable property search. That's a great question, Kimberly. I really appreciate you asking. Yeah. Any other questions? We only have a couple minutes left. Okay. Well, let's go to the fun questions for today because we got to get out of here
54:31
All right. First one is, what do you do for fun? I know you play piano and dance
54:38
What else do you do? Yep, piano, dance. I'm a huge gamer
54:43
Love gaming. I particularly like JRPGs. Playing Persona 5 stuff right now
54:48
Feel free to chat with me about that. Over quarantine, I discovered the love of baking
54:54
Yeah, I absolutely love it. I used to hate cooking and baking in any way, shape, or form
54:59
And then something happened where I am now addicted and can't stop
55:03
I love it. Yeah. I think I'm going to try making sticky toffee pudding this weekend
55:08
Oh, man. I made macarons last week. That was an adventure. Macarons are no joke
55:14
Beware the delicate ones. Yeah. Wow. Yeah. That's big. Baking is tough
55:20
Yeah. I think baking is a lot tougher than normal food usually. I agree. I mean, it's all about precision, really
55:25
I learned weighing your ingredients is way better. why did the U S or come up with some weird cup system where every cup is
55:34
irregular and don't get it. Just get yourself a scale and you'll never be wrong
55:41
Most of the time it's so much nicer. Yeah. And yeah. And I love to read too
55:46
So particularly fantasy, I'm a huge fantasy nut. So do you like
55:51
um, I don't know if this is fantasy. Do you like the expanse? It's
55:55
uh, I know what you're talking about. I heard it really, really good. So watch it. Uh, I haven't seen it though
56:00
I'm trying to get more into sci-fi. I'd say that's more sci-fi. But the Expanse lover said the books are better
56:06
You know, I could definitely attest the last season of the Expanse was not great
56:10
Oh, really? I should ask my friend. I know. I don't know if there's a future for the show, but I hear the books
56:16
Yeah. I hear the books are really great. Wow. Yeah. Maybe I'll add that to my list
56:22
Yeah. Because I have a friend who reads about it all the time, like the show at least
56:27
And I don't know if he's read the books, but he really liked the show. I think it was the second or third season that just blew my mind
56:33
I was just sitting there going, I can't believe this is a TV show. You know, I love shows like that
56:38
Yeah, I know. I mean, just the sheer quality of the computer graphics were just mind blowing
56:47
Yeah, yeah. It's I was pretty impressed. The last show that impressed me was I think last month or December
56:54
I watched the first season of Picard and the computer graphics on that show are pretty amazing
56:59
too. Yeah. And, and I love watching those shows because I love to see how they think our world
57:07
is going to be in the future and what gizmos and gadgets and things like that. And even I
57:12
specifically pay a lot of attention to how they interact with computers. You know, it's like
57:18
you never see a keyboard in the future. Never. Right. There's no keyboards
57:23
It's like hollow touch. Yeah, it's all these weird touchy or you mainly talk to the voice commands, right
57:30
Yeah. I would love to write my next book by talking to Alexa
57:34
That would be great. That would be so cool. I feel like editing might be kind of hard unless it was like all in front of you
57:41
Well, you have to edit it later, but just getting it down
57:45
I think my thoughts would be better if I'm not trying to type it at the same time I'm trying to think it
57:50
Yeah. I know a lot of people that don't write tech books use voice recorders and stuff like that
57:58
That's really cool. What else was I going to say? Oh, Simon, can you put this on the screen
58:04
Hello, world, cookbook.com. So since you love to bake and we don't really know each other, I'm doing a project right now
58:15
that I'm gathering food recipes from geeks just like you and me from all over the world
58:23
And I'm putting together in a book called the Hello World Cookbook
58:27
Simon, the Hello World Cookbook. Maybe he's in the bathroom. I'm having a hard time finding the right URL
58:36
Oh, it's just HelloWorldCookbook.com. Yeah. Anyway, so you bake. I don't have any baking recipes
58:48
So please submit your recipes because once I get enough recipes and get the book out
58:56
thanks, Simon, 100% of the proceeds will go to the Voice of Slum NGO in India
59:02
which I talk a lot about on the show. I was there two years ago, and the Voice of Slum is actually in a slum in Delhi
59:11
and it was literally the most moving experience ever in my travels
59:17
And I've been trying. So my performance book right now, 100% of the proceeds goes to Voice of Slum
59:24
which has helped them restart their vocational training program. But I want to help them more
59:33
And so the book is doing this. A couple weeks ago, C Sharp Corner had a two-day live virtual conference
59:40
where they raised over $2,000 for the Voice of Slum. And $2,000 in India goes a really long way
59:49
So anyway, I hope you'll send me some recipes. I hope everybody else out there will submit the recipes too
59:57
because I really, really want to get it out this year. So please send your recipes there
1:00:03
And if you don't cook, you can sign up to be a unit tester to test the food
1:00:08
because I can't eat a lot of the food because I eat gluten-free. You can sign up to edit the book, because I'm never great at English
1:00:15
And you can also sign up to help with the graphic arts of the book, too
1:00:21
So there's lots of ways to help if you don't like to cook. I know a lot of cooks, I mean, a lot of people in this industry don't cook very much
1:00:29
So but some of us do. I was I was a cook at a restaurant when I was 18
1:00:36
So I think people, at least in my work, definitely know how to cook. You know, back when we were still in the office, we'd have annual bake sale slash just cooking, baking sale, I guess, put together
1:00:48
And proceeds would go to specific charities and stuff. And people know how to cook like crazy. It's ridiculous
1:00:55
um i know somebody on my team who made this crazy cake that looked like a tub of beer and if you look
1:01:02
at it and it's like it doesn't look like cake it's ridiculous she sent this picture and i'm like
1:01:06
oh it's just beer and then you look closer and you're like wait it's like sugar and oh my god
1:01:12
yeah i don't watch those you know baking shows but i i've seen clips of them where they get pretty
1:01:19
out out there you know i wish yeah yeah it's i haven't reached that level yet but i'm going
1:01:25
And do I eat this or just put it on the mantle or put it on the mantle to look at, you know
1:01:32
Yeah. It's like, oh, my goodness. I know. Well, we're passed out of time now
1:01:39
Is there anything you want to plug before you go? Your Toolbox show
1:01:44
Yeah, Toolbox. Check out VS Toolbox. You can Google that on YouTube, and you should be able to find a whole playlist of Visual Studio Toolbox
1:01:52
So say Visual Studio Toolbox or VS Toolbox, either one works. And also you can go to Channel 9
1:02:00
That the main site for all of our other Microsoft shows that we have including mine So I think that would be my big one And continue sharing your feedback Like VS runs on feedback a lot of the time So you know if there anything that you like us
1:02:18
to change that we haven't explored yet, feel free to reach out to me or to anybody on the team
1:02:25
Yeah. And that feedback actually works. I mean, because I've been doing a lot lately. And
1:02:31
And so those of you who don't know what we're talking about, go to the help menu
1:02:35
And then right under that, there's a link to send problems and there's a link to send feature requests
1:02:43
And I've been using that a lot. And Microsoft actually is looking at it and they are actually fixing some of the stuff I put in
1:02:49
There was one thing I submitted that they literally had fixed the next day
1:02:54
Awesome. It was crazy. It was some searching thing in one of the dialogues and they literally fixed it the next day
1:03:01
And I was, I was going, okay, either they, they were already working on it or dang, they're fast
1:03:07
Right. So that stuff works, but you know, so instead of g about it on Twitter, like I seem to do a lot, you know, I've been trying to focus, you know, on actually putting in these tickets so they can actually look at them
1:03:23
So real humans read it. Yeah. Yeah. Yeah. Yeah. So please do that
1:03:28
So thanks a lot for being on the show. I'm sad we ran out of time
1:03:32
I think I talked too much because I don't feel well but I really want to have you back on the show
1:03:38
and some of your other teammates too or anybody else you want to think about
1:03:42
if you hang out after the show we'll chat a little bit about those people
1:03:46
well thank you very much and I really appreciate it thank you
1:03:50
alright that was awesome I think I got through the show okay
1:03:57
without screwing up too much So I'm glad about that. I think that was a great interview with Leslie
1:04:04
I really enjoyed it. I going to have to go back and watch it because you know it hard to focus on things you know when you kind of not feeling great So I want to plug the Azure Cosmos DB conference I coming up in April I hope you check it out It free
1:04:23
And so I'm going to be there. I'm not speaking, but I'm going to be there watching
1:04:28
because I really love Cosmos. And it's such a huge change from like relational databases
1:04:35
for those older programmers out there. You really need to attend this conference
1:04:40
So I hope you'll do that. All right. Thanks for watching. Next week, I'm really, I'm sorry, we're going to be off next week. The week after, I'm really excited to have actually a good friend of mine, Ike Ellis. He's general manager of data and AI practice at Salience
1:05:00
So I'm really excited to talk to Ike, not only to catch up with Ike, but he's literally the best data person I've ever known
1:05:11
And so I can't wait to have him on the show and chat with him and see how he's doing and talk about all the stuff he's up to, of course
1:05:20
Please, please stay safe. Listen to your medical professionals about COVID-19 pandemic
1:05:27
We're not over it. So please, please pretend that we're not or know that we're not
1:05:35
You know, I think today we're going to hit half a million people that have died from COVID in America today
1:05:43
So it's a very sad milestone for sure. If you're able, which most of you are, please donate blood at your local blood bank
1:05:54
I was supposed to donate tomorrow but I had to cancel because they called me and said no
1:06:00
you don't sound good so you can't come in so so please go donate it and because I can't and if you
1:06:10
live in the US if you if you tweet me proof that you donated this weekend I will send you a copy
1:06:20
of my brand new book and some DonutTips swag So this weekend donate blood and get some free training and some Donnettips swag So this weekend donate blood and get some free training and some free cool stuff Okay
1:06:35
And with that, please email your suggestions, including requests of who you want to be on the show
1:06:41
or if you want to be on the show to rockincodeworld at csarpcorner.com
1:06:49
and I'll see you in two weeks. Thanks. Thank you