Speaker 1: Hey Richard, Hey Carl, what do you know?
Speaker 2: Well, I know that our friend Michelle Rubusta Monte is
Speaker 2: with us to tell us about something that's going on
Speaker 2: adjacent to DEV Intersection.
Speaker 1: What is it? It's cybersecurity Intersection. Let's let Michelle tell
Speaker 1: that story.
Speaker 3: Hey Michelle, Hey Carl, Hey Richard, how are you.
Speaker 2: Tell us about cybersecurity Intersection?
Speaker 3: Well, so, Richard and I are partnering with the group
Speaker 3: that does DEV Intersection and next Gen AI, and we
Speaker 3: are putting on a new conference dedicated to one hundred
Speaker 3: percent security focused topics. And I mean, honestly, the lineup
Speaker 3: of speakers is incredible. We have Paula A. Jenis, who's
Speaker 3: here from Poland and does keynotes all over the world
Speaker 3: and is one of the top rated RSA speakers and
Speaker 3: black hat speaker. We're so lucky to have her. But
Speaker 3: she's not only keynoting, she's got a workshop teaches you
Speaker 3: about protecting your environments against hackers and shows you about
Speaker 3: how to you know, do attacks so that you can
Speaker 3: prevent them. It's pretty cool and sessions like that as well.
Speaker 3: But we also have speakers from Microsoft. We have we
Speaker 3: have speakers that specialize in you know secure coding practices,
Speaker 3: Azure security, Zuero, trust architectures on Azure UH and people
Speaker 3: who do decision maker tracks, so things around governance policy
Speaker 3: and you know how to how to manage and your
Speaker 3: production operations keep them secure. So it's an amazing group
Speaker 3: of speakers, really excited about it.
Speaker 2: And I think I can count myself among the group
Speaker 2: of speakers there.
Speaker 3: Well, yes you can, that is right.
Speaker 2: Yeah, I'm doing a securing Blazer Server applications talk and
Speaker 2: also I think we're doing a Security this Week live
Speaker 2: show there somewhere that is correct.
Speaker 3: Yeah, we'll be recording Security this Week live. We're going
Speaker 3: to have a great panel with some folks. The interesting
Speaker 3: thing here is we don't really have a Microsoft and
Speaker 3: dot net and Azure focused toecurity conference yet, so that's
Speaker 3: the reason we're putting this on as well. You know
Speaker 3: there are other security conferences, but they have a spread
Speaker 3: of topics that maybe don't focus on the things you
Speaker 3: do day to day. And you know this overlaps with
Speaker 3: again our community of folks that specialize in again dot net,
Speaker 3: Azure and yeah, they need to keep it secure too,
Speaker 3: So with tons of talks.
Speaker 1: Cyber Intersection is part of a trio of conferences we're doing.
Speaker 1: They have Intersection alongside the next Gen AI Conference all
Speaker 1: in Orlando the week of October fifth through tenth. That's
Speaker 1: workshops and the main conference. And you can get a
Speaker 1: special registration code if you sign up through Cybersecurity Intersection
Speaker 1: dot com.
Speaker 3: Yeah, so if you sign up at Cybersecurity Intersection dot com,
Speaker 3: then you put in this code, so Alliance cyber three
Speaker 3: hundred and you'll get three hundred off the entry price.
Speaker 3: So that's a special code that only works at cybersecurity
Speaker 3: dot com. And then you have access to all the conferences.
Speaker 2: Like Richard said, Wow, that's cool. Thanks Michelle. I'm looking
Speaker 2: forward to it and I'll see you there. Hey, watch
Speaker 2: out for falling rocks. Nice, it's dot NetRocks. Watch out
Speaker 2: for falling dot NetRocks. I'm Carl Franklin.
Speaker 1: And I'm Richard Campbell.
Speaker 2: We're here for your listening pleasure again. On episode nineteen
Speaker 2: sixty seven, this is the year we were born. Yeah,
Speaker 2: and my wife then ye yeah, and a lot of
Speaker 2: cool things happen. Should we do better know framework first
Speaker 2: and then do what happened in nineteen sixty seven? Or
Speaker 2: should we Yeah, let's do that all right, don't mess
Speaker 2: with the pattern, roll the music.
Speaker 1: What do you got?
Speaker 2: I have something intriguing that I have not used, but
Speaker 2: you know, I like to look and see what's trending
Speaker 2: on GitHub and this one is a tool that lets
Speaker 2: you run Windows in a Docker container.
Speaker 1: Oh far Oh.
Speaker 2: It's docer doc k u r slash Windows on GitHub.
Speaker 1: And let me pull the classic And why would you
Speaker 1: do that?
Speaker 2: Why would you ever want to do that? Yeah? Why
Speaker 2: would you want to do that? I'll tell you what.
Speaker 2: The only reason I could see doing that is the
Speaker 2: same reason i'd want to VM, which is complete and encapsulation.
Speaker 2: But I would probably want to do it for security reasons,
Speaker 2: you know, like I want to move all my email
Speaker 2: reading stuff over there. But in order to do that,
Speaker 2: you really have to turn off network access, well local
Speaker 2: network access, you have to limit it.
Speaker 1: You can do that sort of stuff with virtual desktop too,
Speaker 1: if you would, if it's just for that interaction. Yeah,
Speaker 1: you know. I funny do you bring this up. Timing's
Speaker 1: impeccable as usual, mister Franklin, because I was just having
Speaker 1: to chat about the origins of virtualization, realizing you know,
Speaker 1: back in the day I was using virtualization for testing installs. Right,
Speaker 1: we'd have a baseline. This is the current configuration of
Speaker 1: the machine at the company. We're gonna put the new
Speaker 1: version on. Let's install it. Make sure it doesn't break anything.
Speaker 1: This is back in DLL hell days, right, And when
Speaker 1: it did you could use because you were in virtual machine.
Speaker 1: You just rolled back to the state before tweaked the install,
Speaker 1: figure out what you did, made mistake you and try
Speaker 1: it again. Like it was a great testing platform. And
Speaker 1: this is like a cool way to approach that problem.
Speaker 1: Not that we have those kinds of DLL hells anymore.
Speaker 1: Now we have new and extra special DLL health. Is
Speaker 1: there such a thing as doctor Hell. I don't know,
Speaker 1: Maybe it's I don't know there was doctor help, but
Speaker 1: it's definitely new get help and yamel hell. I think
Speaker 1: everybody on those of this show knows about new get hell. Yeah.
Speaker 2: Yeah, yeah, so it's interesting. I would want to, like,
Speaker 2: I say, use it for security reasons. Vms are great,
Speaker 2: but you know they can be slow, and if they're
Speaker 2: not slow, they're expensive and.
Speaker 1: They're big, big, big bulky, Like this is just a
Speaker 1: lean way to do this.
Speaker 2: Yeah, And you use RDP to connect to it, and
Speaker 2: so it's pretty cool. But I'd just like to see
Speaker 2: if I could lock it down and you know, use
Speaker 2: it for Internet browsing and email and all those things.
Speaker 1: So interesting.
Speaker 2: If I do get phished, you know, I'm not going
Speaker 2: to get ransomwared. That's that's why I would want to use.
Speaker 1: It, right, or you are, but it's just going to
Speaker 1: be on a machine that you don't have anything important on,
Speaker 1: so you don't care. Just pave it and go again.
Speaker 2: Yeah yeah, or you.
Speaker 1: Don't even have to pave it. You just rebuild the
Speaker 1: container and to help you go.
Speaker 2: Right, yeah, yeah, so long as it doesn't touch your
Speaker 2: discs and your you know, well.
Speaker 1: You give it a yeah, he got no rights to
Speaker 1: anything else.
Speaker 2: Give it an area of the disk, and give it
Speaker 2: limited network.
Speaker 1: No, it's living in that little space. You put it
Speaker 1: on its own virtual network, so it only can communicate
Speaker 1: the Internet, nothing else in your network. Like, yeah, we've
Speaker 1: done all this. This is good honeypot testing and black
Speaker 1: app testing, like this is where you do this stuff.
Speaker 1: It's cool idea.
Speaker 2: So it's cool. I'm going to talk to Doane and
Speaker 2: Patrick about that on the next security this week. But yeah,
Speaker 2: that's what I got. So who's talking to us.
Speaker 1: Richard grabbed a comment off a show from fifteen sixty
Speaker 1: going back a few years. It's from July of twenty
Speaker 1: eighteen with one Mads Christensen. Maybe you've heard him and
Speaker 1: can't wear his glasses very well when we're talking about
Speaker 1: writing visual studio extensions, I'm talking about his headshot because
Speaker 1: he's got this headshot with his glasses all askew, which
Speaker 1: is hilarious inside joke. And admittedly this is a few
Speaker 1: years ago, so this is a comment from Scott Hirstell
Speaker 1: who said, holy smokes. After listening to this episode, I
Speaker 1: took a dive into the visual studio marketplace to see
Speaker 1: what kinds of extensions were available, and after hearing about
Speaker 1: the image optimizer on the show, Thank you Mads, I
Speaker 1: figured i'd give web Essentials a shot. One of the
Speaker 1: most satisfying things about this tool was the ability to
Speaker 1: save my files and have the browser automatically reload so
Speaker 1: I can check out my changes. There are so many
Speaker 1: goodies and web Essentials, thank you for your excellent work.
Speaker 1: Oh and Fartacus is pretty good too. Everybody at the
Speaker 1: officer you get a kick out of that one was
Speaker 1: this from the era of the fart app was that
Speaker 1: what Fardacus was.
Speaker 4: Yeah, the part is the original fart app for visual studio.
Speaker 2: So like you press a control key and it goes
Speaker 2: or something or.
Speaker 4: Well, of course there's a hot key, but you can
Speaker 4: also you set it up so that when the build fails.
Speaker 1: Ah, it's that or sad trombone, right.
Speaker 4: There are some forks of it that does like you know,
Speaker 4: Homer Simpson kind of.
Speaker 1: Oh yeah and stuff. I remember setting up a rig
Speaker 1: where when the build failed, it turned on a red
Speaker 1: flashing light and everybody on the team had nerf guns
Speaker 1: and you all shot the guy who wrote the bell.
Speaker 1: It's nice, yeah, Scott, thank you so much. Here comment
Speaker 1: and a copy of music Goby is on its way
Speaker 1: to you. And if you'd like a copy of music Cobe,
Speaker 1: I write a comment on the website at dot NetRocks
Speaker 1: dot com or on Facebook, so you publish every show
Speaker 1: there and if you comment there and I read it
Speaker 1: on the show, we'll send you a copy.
Speaker 2: Music go by and we're talking about music to Code by,
Speaker 2: which you can get at music to Code by dot net.
Speaker 2: We have twenty two tracks all in MP three flack
Speaker 2: or wave format, helping people write code since twenty sixteen.
Speaker 2: I can't remember when I started it, but anyway, that's it.
Speaker 2: So let's talk about nineteen sixty seven. Brother.
Speaker 1: All right, dude, where do you want to go?
Speaker 2: Well, first of all, we were born that year.
Speaker 1: My wife is born that year. That's ye happened.
Speaker 2: But one thing that's really important to me is this
Speaker 2: is when Sergeant Peppers was released.
Speaker 1: Yeah, right, that's true.
Speaker 2: One of the most iconic rock albums of all time.
Speaker 1: It was also a transformative album for the Beatles too,
Speaker 1: like it was a very different style.
Speaker 2: Well, they were sort of in a rut. I remember
Speaker 2: Paul McCartney talking about this. They were in a rut
Speaker 2: in Beatlemania, you know, and they wanted to break out
Speaker 2: of the mop top kind of image and they were
Speaker 2: just beside themselves. They're like, well, this is who we are.
Speaker 2: And Paul came up with the idea and he said,
Speaker 2: what if we just put on these personas and we
Speaker 2: wrote music from the perspective of these guys rather than
Speaker 2: the Beatles, Right, So looks end and it was really
Speaker 2: good and it broke them through. That broke them through
Speaker 2: their issues. So other things that happen. Of course, it
Speaker 2: was the summer of Love Right the Human Being in
Speaker 2: San Francisco on January fourteenth marked the beginning of the
Speaker 2: Summer of Love, attracting over two twenty thousand people celebrating
Speaker 2: piece of music. Vietnam War, Lynn and Johnson requested more
Speaker 2: funding for the Vietnam War during his State of the
Speaker 2: Union of Dress on January tenth. Civil Rights Thirdgod Marshall
Speaker 2: was confirmed as the first Black Supreme Court justice on
Speaker 2: August thirty, big significant milestone. I'll let you talk about
Speaker 2: science and space, but sure, yeah. I think Jack Ruby
Speaker 2: was shot on January third. I think you're a year
Speaker 2: too far ahead. Oh really yeah, Oh Jack Ruby's death.
Speaker 2: Jack Ruby, who killed Lee Harvey Oswald, died on January third. Yeah,
Speaker 2: so he died that year. It wasn't he didn't get shot.
Speaker 2: I had that backwards. What happened in space and tech?
Speaker 1: There's all the time. There's a lot of stuff coming
Speaker 1: in tech at this point, like the you know, we're
Speaker 1: only a year or two away from arpinnet becoming real,
Speaker 1: so we're just we're just getting going there. But the
Speaker 1: language logo is first published in nineteen sixty seven. While
Speaker 1: if You're say gets say more, Pact and Cynthia Solomon.
Speaker 1: They were working for a company called BBN, who was
Speaker 1: also a central part of Arpanet. Sorry, the dog, after
Speaker 1: being silent for hours, has decided to bark.
Speaker 2: Now, Oh that's all right. We have to be real
Speaker 2: once in a while, don't we. Yeah, little dog bark
Speaker 2: never heard anybody. It was logo and a particular type
Speaker 2: of language like function, functional or procedural or.
Speaker 1: It was a it was a It was an interpreted language.
Speaker 1: And this is where turtle graphics came from, like sort
Speaker 1: of vector draw on the screen. Right, Yeah, it's turtle basic. Yeah, well,
Speaker 1: turtle basics another thing. But this was a turtle logo.
Speaker 1: You used turtle graphics as much graphics. We suppose to
Speaker 1: be the term they called it logo from the Greek
Speaker 1: logos for word or thought.
Speaker 2: Interesting. So anything in space yeah.
Speaker 1: Well yeah. This is the year of the most launches
Speaker 1: in history until twenty twenty one until SpaceX blows the
Speaker 1: record out one hundred and seventy two launches during the
Speaker 1: Soviet Union and the United States.
Speaker 2: Wow.
Speaker 1: It's also the year of the Apollo one fire. In January,
Speaker 1: chrisdom and White and Chaffee lose their lives in a
Speaker 1: plugs out test on the stand and stops the Apollo program.
Speaker 4: Wow.
Speaker 1: For some time as they figure out the mistakes that
Speaker 1: they were making. There was wiring problems. They were using
Speaker 1: a pure auction environment, which created more risk. But it's
Speaker 1: also the year that they fly for surveyors, which were
Speaker 1: the robotic landers for the Moon, three of which will
Speaker 1: landsafe on the Moon. The fourth will make a what
Speaker 1: they call vigorous land. Also, so use one flies if
Speaker 1: the first Soyuz flies with a single cosmonaut, Vladimir Komarov,
Speaker 1: who will also lose his life after a day in
Speaker 1: space on the way down, the parachute on his re
Speaker 1: entry module failed. Any bomb did not survive, and the
Speaker 1: Soviets successfully get the Venera four mission after several tries
Speaker 1: to Venus and it lasts about ninety minutes before it melts.
Speaker 2: Yeah, what were they thinking, Hey, let's go to Venus.
Speaker 1: Well, now they were trying to You know, they taught
Speaker 1: us a lot. The Soviets are the only nation to
Speaker 1: ever land anything successfully on Venus. Oh, they did land,
Speaker 1: but you know, it lasted a while. It's very tough.
Speaker 1: Conditions are very very hot, high pressure there.
Speaker 2: Wow.
Speaker 1: And finally by the end of the year they ratify
Speaker 1: the Outer Space Treaty, which is especially contrapuntal today now
Speaker 1: because this is the treaty that says you can't own
Speaker 1: the Moon and no weapons in space and don't go
Speaker 1: setting off nukes on the moon, which is one of
Speaker 1: the American things. Americans considered doing was to test a
Speaker 1: nuclear upon on the Moon. So that doesn't happen, and
Speaker 1: the out of space were you're supposed to stop all that.
Speaker 1: Now there's a conversation about does this treaty still make
Speaker 1: sense because it's from nineteen sixty seven. It's a long
Speaker 1: time ago, and now that we're actually talking about utilizing
Speaker 1: resources on the moon, how do we make this work?
Speaker 2: Very cool? Yeah, good stuff. I think this year's geekout
Speaker 2: is going to be really good. Are the geek outs?
Speaker 1: Yeah, there's going to be a few geekouts, including when
Speaker 1: after this, when this show is published, I'll have already
Speaker 1: taken a tour of Copenhagen Atomics thorium reactors, so oh wow,
Speaker 1: Either I'll be dead or I'll have a phenomenal interview
Speaker 1: with their team talking about building thorium right, or both.
Speaker 1: As it turns out, you'll publish it posthumously, right, I'll
Speaker 1: actually there's no They're in Denmark and Denmark does not
Speaker 1: allow nuclear reactors, so what a great place to build one. Yeah,
Speaker 1: and so what I don't have a whole lot of
Speaker 1: risk there. They're actually making it portable enough that they're
Speaker 1: going to take it to Switzerland to operate it as
Speaker 1: a test run. Then they're allowed to bring it back
Speaker 1: as long as it's not operating and do some tests
Speaker 1: evaluations of it. So that's what's going to be good
Speaker 1: with that. But yeah, no exciting times. Don't worry the fall.
Speaker 1: This winter's geek outs will be big, yeah, and there
Speaker 1: may be a few extra ones.
Speaker 2: Yeah, all right, and with that, let's bring on Mads.
Speaker 2: Mads Christiansen is a program manager on the Visual Studio
Speaker 2: team at Microsoft, with the privilege to work with the
Speaker 2: extension community and ecosystem. He's an avid extension writer himself,
Speaker 2: with over one hundred published extensions to Visual Studio Marketplace.
Speaker 2: Before joining Microsoft, he spent a decade as a web developer,
Speaker 2: working at both startups and enterprise companies. His wife and
Speaker 2: two young sons all enjoy and support his adventures in
Speaker 2: the world of home automation. Welcome back mads.
Speaker 4: Hey, guys, glad to be here.
Speaker 2: You mad extension writer. You.
Speaker 1: I think we're over two hundred now, wow, crazy, got
Speaker 1: to update your bios. You are the marketplace, sir.
Speaker 2: That's right.
Speaker 4: Yeah, I don't know. There's a lot of extensions out there.
Speaker 2: So far be it from me to use dot net
Speaker 2: rocks as a place where I can get a personal
Speaker 2: answer about some feature that I want in visual studio.
Speaker 2: But I'm going to do it anyway.
Speaker 4: Yeah, go ahead.
Speaker 2: So I've noticed, you know, I'm a Blazer developer mostly,
Speaker 2: and when I'm building a web application, I noticed that
Speaker 2: every time I hit play, the position and size of
Speaker 2: the browser that comes up is automatically set something to
Speaker 2: where the last browser window that had focus is. And
Speaker 2: it drives me absolutely nuts. And because you know, I've
Speaker 2: got windows all over the place, and if I click
Speaker 2: on the one to mute the TV that I'm watching,
Speaker 2: and then I go back and press play, now it's
Speaker 2: over the TV window, right. So I wanted to know
Speaker 2: if there's an extension that you've created to automatically set
Speaker 2: the position and location of a browser every time you
Speaker 2: run it.
Speaker 4: Well, no, I have not written anything for it, but
Speaker 4: this is I don't know how this is, like it
Speaker 4: happens to me too when it has nothing to do
Speaker 4: with Mitchell Studio. Right, but if you have multiple you know,
Speaker 4: edge browsers open, you have one for your work account
Speaker 4: and one for your private or whatever, right, and you
Speaker 4: then click a link and outlook, Yeah, it will open
Speaker 4: it in the last browser you had active.
Speaker 2: Yeah, so it's a browser thing. But surely there must
Speaker 2: be a way to tell the browser. Yeah, open it here,
Speaker 2: like in JavaScript or something.
Speaker 4: Yeah, and really you don't want to even doc that,
Speaker 4: you know, the tap It should just be its own thing, right, Yeah? Yeah,
Speaker 4: did you? I don't. I don't know if we I've
Speaker 4: never seen this request before, but that doesn't mean it
Speaker 4: doesn't exist. If it does exist, you should vote for
Speaker 4: it or create it.
Speaker 2: I entered it as a suggestion in the Visual Studio.
Speaker 2: There's a link too. Yeah I did that. I haven't
Speaker 2: heard back yet. I just didn't know. I went looking
Speaker 2: and I didn't see anything. But I figured, you know,
Speaker 2: if anybody knows Mad's nos, Yeah, so.
Speaker 4: Make sure you put a link in so that everyone,
Speaker 4: any listener can go and vote.
Speaker 1: For There you go, Yeah, leverage leverage the podcast friend
Speaker 1: if you get it voted up to the top, you know,
Speaker 1: then they're they're going to talk about it. Oh yeah,
Speaker 1: that's cool, that is their priority list.
Speaker 4: Yeah, well, we don't know. Sometimes you see something like
Speaker 4: this and you think, oh, yeah, this is not going
Speaker 4: to be that hard to do, right, Yeah, and then
Speaker 4: it turns out it's really really hard to do. Right.
Speaker 4: So even though you are able to vote something up
Speaker 4: to the top, that doesn't guarantee that we can do
Speaker 4: it if it's like really expensive.
Speaker 1: Right, or or we don't know how well, and you
Speaker 1: always have the niche problem, right, like a certain group
Speaker 1: of people really want this, but it represents a tiny
Speaker 1: amount of the customer base, Like there's always got to
Speaker 1: be a waiting on those kinds of Well, it depends.
Speaker 2: I think it's one of those features that people don't
Speaker 2: know they need it until they get frustrated enough and
Speaker 2: say what the heck right exactly?
Speaker 4: And we usually say that, you know, one vote or
Speaker 4: one bug represent a thousand people.
Speaker 1: Yeah, so yeah, it won't.
Speaker 4: It doesn't have that many people like or it's a
Speaker 4: small niche. Let's say it's only five percent of you know,
Speaker 4: Visual Studios user base or whatever, but that's still like
Speaker 4: hundreds of thousands of people, right right, So it's important
Speaker 4: that you know even the small things are big just
Speaker 4: because we're dealing with like millions of monthly active users,
Speaker 4: right right right.
Speaker 2: I heard that you guys are I don't know who
Speaker 2: you guys is, but Microsoft engineers are required to look
Speaker 2: at that list twice a week and actually look at
Speaker 2: all the new suggestions.
Speaker 4: Yeah we so we don't really have a requirement for that,
Speaker 4: but we are required to fix any high important bugs
Speaker 4: like P one' or P two priority one or zero
Speaker 4: bugs okay, and they have we have an whole SLA,
Speaker 4: like a service license agreement there with like that we
Speaker 4: have to fix them for the next service release that
Speaker 4: we that we publish like on a weekly basis. So yeah,
Speaker 4: we take that stuff really seriously. So you probably can't
Speaker 4: do that without looking at your list of bugs twice
Speaker 4: a week. But there's no requirement for looking at the list.
Speaker 4: The requirement is to fix them. Yeah, but that's for bugs,
Speaker 4: that's not for feature requests.
Speaker 2: Oh right, yeah, yeah, this is this is just the
Speaker 2: suggestion list, I guess future requests list.
Speaker 4: Yeah, yeah, well we have actually do we do implement
Speaker 4: one point two feature requests per workday.
Speaker 1: Wow.
Speaker 4: If you look at the average of the last twelve months, wow,
Speaker 4: and that that trend is going up.
Speaker 1: Wow. Are you guys going faster or are they get
Speaker 1: requests getting easier? Like, how do you get that quest? No?
Speaker 4: I think it's a little bit of a mind shift.
Speaker 4: I don't know if you've noticed it over the last
Speaker 4: two or three years. But things that before wasn't prioritized
Speaker 4: because it was maybe had low impact, Like some bugs
Speaker 4: come in or some feature requests come in and they
Speaker 4: kind of have low impact. They don't you know, some
Speaker 4: of these suggestions were not like something that would open
Speaker 4: new scenarios. They might just be like little delighters or hey,
Speaker 4: it would be nice if but they weren't like blocking
Speaker 4: you for doing what you needed to do. And we
Speaker 4: had a hard time prioritizing that type of feature request
Speaker 4: in the past, whereas now it's a little different because
Speaker 4: you know, when you're using visual studio eight ten hours
Speaker 4: a day, you're using half your waken live in visual studio, right,
Speaker 4: it's kind of crazy. So all these little things, because
Speaker 4: you're using it so much, they become big and they're
Speaker 4: big things. And so by kind of making that change,
Speaker 4: of mindset a little bit to look at things differently.
Speaker 4: We've been able to double down on a bunch of
Speaker 4: the small issues and a bunch of the small like
Speaker 4: paper cuts, industry standard things, muscle memory issues that didn't
Speaker 4: before carry over from other apps into Visual Studio for shortcuts,
Speaker 4: for instance, like just taking them one out of time,
Speaker 4: Like let's just double down on that type of stuff,
Speaker 4: and you know it. I think the shift is if
Speaker 4: you know, this sounds super cliche, but the shift I
Speaker 4: think has gone a little bit from focusing, you know,
Speaker 4: primarily on productivity and instead of focusing more on happiness,
Speaker 4: like developer happiness. You can't be happy developer if you're
Speaker 4: not productive. So it includes the productivity thing, but it's more.
Speaker 4: It's also about like are you looking forward to working
Speaker 4: studio every morning?
Speaker 5: Right?
Speaker 4: Is there a smile on your face? Do you feel empowered? Inspired, creative?
Speaker 4: This vis studio kind of get out of the way
Speaker 4: when it needs to and help you when that's a requirement,
Speaker 4: like all that type of stuff.
Speaker 2: I've got issues.
Speaker 4: We all have issues, probably.
Speaker 2: Probably nothing to do with what you work on, but
Speaker 2: isn't me or has GitHub co pilot just completely taken
Speaker 2: over like now I start typing a variable and it
Speaker 2: gives me this long thing and there are gray letters
Speaker 2: in there that are like and as I'm typing, like,
Speaker 2: it's I don't even know when I'm typed, I have
Speaker 2: no idea what's going on. It's gotten so crazy. Yeah,
Speaker 2: and I know you can control that, but.
Speaker 4: So you can control it now. So what we're adding
Speaker 4: is a way for that not to happen automatically, but
Speaker 4: only at a keyboard short cut. So instead of having
Speaker 4: it automatically show up, it can be only when you
Speaker 4: request ith.
Speaker 2: Okay, I like, so.
Speaker 4: You you you can control more of that because some
Speaker 4: people they really like kind of that feeling of just
Speaker 4: tapping their way through and and other people they really
Speaker 4: want not to have that. And so now you can
Speaker 4: figure it. You can. You can now customize it.
Speaker 2: How about a foot switch?
Speaker 4: Yeah you can do on off. Yeah you can do that.
Speaker 2: I love I love foot switches. I'm a musician, right,
Speaker 2: so I have guitar pedals and stuff, but you know,
Speaker 2: if I had a little pedal board under my you know,
Speaker 2: to to Oh, I want that feature. I want that feature,
Speaker 2: these momentary on off toggles, that'd be so cool. Somebody
Speaker 2: should do.
Speaker 4: That, that'd be the equivalent of a distortion distortion pedal.
Speaker 2: There you go, yeah, exactly. You know I'd add some
Speaker 2: distortion to my to my API controllers.
Speaker 4: Yes, yeah, you know a lot of a lot of
Speaker 4: effort goes into it. And the new version of visual
Speaker 4: Studio here is like it's a big foundational upgrade when
Speaker 4: it comes to to AI. So with with visual Studio,
Speaker 4: we are in a unique position where we know a
Speaker 4: lot about all the different aspects off your workflow. We
Speaker 4: know about your GET issues, it's your tracker. We know
Speaker 4: about profiling and debugging and unit testing, and maybe we
Speaker 4: know about your CICD, and we know about your let's say,
Speaker 4: ASTRA deployment environments and whatnot. And so the more we
Speaker 4: know and the more Copiled is able to understand, the
Speaker 4: more useful it can become. And so this is really
Speaker 4: kind of one of those foundational updates that kind of
Speaker 4: infrastructure wise sets us up for the future and for
Speaker 4: adding features on top that's like way more that goes
Speaker 4: way deeper and just more helpful.
Speaker 2: And are you guys, guidance seems to be like an issue,
Speaker 2: But then again, I don't go looking for it. I'm
Speaker 2: so spoiled by chatch ept searching the web for me
Speaker 2: that I'm really disappointed when I go to Google and
Speaker 2: I type something and I don't get like good results,
Speaker 2: you know. So like a video that explains how to
Speaker 2: control co pilot, I'm sure is out there. I'm just
Speaker 2: conditioned to not go look for it.
Speaker 4: Yeah, it's out there, and a lot more will come.
Speaker 4: But yeah, there's a bunch of great videos out there
Speaker 4: already and articles and tutorials and whatnot.
Speaker 1: Oh I know, yeah that's good stuff.
Speaker 4: But I think but it's an interesting thing, right because
Speaker 4: the question is always like why do you need why
Speaker 4: do you need a description of how to do something right?
Speaker 4: It should be autodiscoverable just by the way you design
Speaker 4: the software.
Speaker 1: Well yeah, more importantly, if you know how to do it,
Speaker 1: just do it right.
Speaker 4: Yeah that's another thing.
Speaker 1: Can we skip over? They don't explain this to me,
Speaker 1: just do it? Phase Like, yeah, I'm tired, I got
Speaker 1: stuff to do, Like, let's move on. Yeah.
Speaker 2: I mean I suppose you could use the copilot agent,
Speaker 2: you know, or chat in visual studio to help you
Speaker 2: figure those things out. I find that to be a
Speaker 2: very valuable tool.
Speaker 4: Yeah, And you know, but sometimes the best prompt is
Speaker 4: no prompt. So that's that's when you have a let's
Speaker 4: say you have a button that us or it comes
Speaker 4: up automatically, and so we have we have that in
Speaker 4: Ryan Vischoustudo. You're going to see more of that, whereas
Speaker 4: not the burden on prompting and knowing how to use
Speaker 4: it is no no longer on you. Yeah, it's like
Speaker 4: if you if you want to write a commit message,
Speaker 4: there's a button there. There's a generate commit message, right,
Speaker 4: and so you don't have to prompt, you just click
Speaker 4: a button. That makes it easy, right. Or we just
Speaker 4: released a new way of optimizing your code, so you
Speaker 4: can you can just make a selection of your c
Speaker 4: sharp or whatever or VB and then you can say, hey,
Speaker 4: rite click and say optimize this code, and you don't
Speaker 4: have to prompt because what are you optimizing for? Like
Speaker 4: is it PERF? Is it readability? Is it quality? What
Speaker 4: is it? You know, exception handling like or something like
Speaker 4: what is it? And so that burden of prompting and
Speaker 4: kind of if we can take that away and make
Speaker 4: it so that there's no prompt at all, then you're
Speaker 4: probably in many in many cases, you're going to be faster,
Speaker 4: and you're going to but faster and more accurate, but
Speaker 4: you're also going to be it's also going to be
Speaker 4: discoverable that you can do this.
Speaker 1: Yeah, that's the challenge is how do you tell me
Speaker 1: you could optimize that code within it out interrupting me
Speaker 1: or annoying me in the process.
Speaker 4: That is the challenge. Yeah, exactly, and it becomes clippy
Speaker 4: right otherwise.
Speaker 1: Yeah, that's right, that's always the dance for us. Right,
Speaker 1: It's like I all the studio does is better than anybody.
Speaker 1: But all those little icons and floaties and squiggles, but
Speaker 1: all these little clues that hey I know something about
Speaker 1: your code you may not know.
Speaker 2: And if you install code Rush, now you're at another
Speaker 2: level of icon crazy, right, Yeah, talking about.
Speaker 4: Well, you know what they say, clippy walk so Copela
Speaker 4: can run.
Speaker 1: There you go, and took a lot of flak in
Speaker 1: the process.
Speaker 2: I still remember this on this quiz show wait wait,
Speaker 2: don't tell me on NPR. You know, Adam Felber is
Speaker 2: a comedian and he's on there, and when Microsoft announced
Speaker 2: that they were getting rid of Clippy, right, that Clippy
Speaker 2: was was dead Adam Felbery because hey, I see you're
Speaker 2: digging a grave? Is that a business grave or a
Speaker 2: personal grave? Can I help you dig that?
Speaker 1: Can I help you?
Speaker 4: It's funny, Richard. Maybe you remember there was a conference
Speaker 4: where there was we had someone in the Clippy costume
Speaker 4: walk around.
Speaker 1: Oh yeah, I remember that, and it was immensely popular.
Speaker 4: Everybody walked up in high five.
Speaker 1: Hugely powered. Everybody loves Clippy. But it's like, yeah, because
Speaker 1: it's a meme.
Speaker 4: Yeah totally. It's like comic sense.
Speaker 1: Yeah, yes, except that it feels good when you punch.
Speaker 1: It wasn't meant to be serious. I don't know why
Speaker 1: you're using it, Like, what are you thinking?
Speaker 4: I use it in a PowerPoint presentation sometimes and it
Speaker 4: throws people off.
Speaker 1: Well, and if we wanted to do even more O
Speaker 1: pick Rob references. We talk about Windows Bob because at
Speaker 1: least one of the Clippy characters was that dog from Bob,
Speaker 1: designed by the same person, Glenda Gates. I think you
Speaker 1: know when you can use those characters, Yeah it was yeah, Melinda, Yeah,
Speaker 1: I don't know that she did clipp.
Speaker 4: You it was a wizard as well. It was one
Speaker 4: of the characters that you could use those characters from
Speaker 4: from back then, there was a remember for Internet Explore.
Speaker 2: That was the Yeah, there was a called the Microsoft Agent.
Speaker 4: Yeah, the Agent, Yes, and you could with JavaScript or
Speaker 4: VBScript probably be you could, like.
Speaker 2: I actually used that in an early online training tool
Speaker 2: that I wrote, which characters the Wizard. But you could
Speaker 2: use whatever you wanted to. But the idea is you
Speaker 2: could program him to fly around on the screen and
Speaker 2: point to things and explain stuff. So yeah, that didn't
Speaker 2: last time. It was fun while it lasted, but it
Speaker 2: didn't last.
Speaker 1: Yeah, but you know, these all feel like attempts now
Speaker 1: to what these ll ms can do for us.
Speaker 4: Yeah, it's really impressive. So we have I think there's
Speaker 4: like a couple of categories of where this is, where
Speaker 4: this is useful. So one is where we can learn
Speaker 4: and we become better developers. So let me take you
Speaker 4: a example. Is the new Profiler Agent, which is the
Speaker 4: one feature we're building on top of this foundational infrastructure
Speaker 4: change in Visual Studio twenty twenty six, and it's the
Speaker 4: Profiler Agent is able to run the profiler in Visual Studio,
Speaker 4: which we've had for a long time, but very few
Speaker 4: people use it. It's kind of hard to it's an
Speaker 4: advanced concept. It's not easy to kind of understand. But
Speaker 4: this new agent can do it for you. And it
Speaker 4: can write benchmarks like using benchmark dot net. Wow, it
Speaker 4: will add benchmark or run if there's existing ones, and
Speaker 4: it can then find the hot paths. Then it can
Speaker 4: give you a laundrylease stuff. Here's what I want to
Speaker 4: do to optimize performance. It can then simulate that with
Speaker 4: the and then run the new and run the benchmarks
Speaker 4: again to see what the performance benefit will be. And
Speaker 4: then you can just tell okay, go ahead, or if
Speaker 4: there's something that you don't understand because that's the problem.
Speaker 4: Even if you run the profiler and it says, hey,
Speaker 4: this line is very expensive or this method call is
Speaker 4: very expensive, how do you know how to optimize it? Right?
Speaker 1: All right? Yeah, it's like okay, the software has criticized me.
Speaker 4: Now what yeah, now what yeah, exactly, it found my problems.
Speaker 4: Now what are the solutions? Right? It didn't help me there,
Speaker 4: but now you get that help and so you know,
Speaker 4: it could be you know, maybe I have a dictionary
Speaker 4: that I use a linquery on and it says, hey,
Speaker 4: if you use a hasset, we're going to be eighty
Speaker 4: percent faster in this particular case, and you'll be like, oh,
Speaker 4: that's neat next time I run into a similar scenario,
Speaker 4: I'm going to remember this hasset thing. And so you
Speaker 4: learn along the way. And so I really like that
Speaker 4: idea where the copole comes in sits beside you kind
Speaker 4: of and and you kind of get to that destination.
Speaker 2: Together makes you a better developer, You become better.
Speaker 1: Yeah, you know this reminds me of the old optimizing
Speaker 1: website stags. We're using the profiling tools to see that
Speaker 1: locus of concentration, Like, hey, this is a big expensive process,
Speaker 1: but it only gets run once an hour, so we're
Speaker 1: not going to optimize that. But this little thing, this
Speaker 1: settle thing, is being running four hundred times a second,
Speaker 1: and if we can shave one hundred milliseconds out of it,
Speaker 1: it's worth it.
Speaker 4: Now.
Speaker 2: Is there such a thing as an agent that understands
Speaker 2: SEQL and SQL profiling, because I would love to turn
Speaker 2: that loose on you know, hey, why is this query
Speaker 2: taking so long? And what?
Speaker 4: Yeah?
Speaker 1: I think you know what index do?
Speaker 2: Is? What indexes do I need to add to make
Speaker 2: it work better?
Speaker 4: That kind of thing that might be in for as
Speaker 4: as a mess. Yeah, if you looked at the Latest
Speaker 4: Days is a mess I have.
Speaker 2: Yeah, and I know it's based on the whole visual studio,
Speaker 2: you know, fundamental environment, So did also have those.
Speaker 4: I haven't played with it for a mess twenty one
Speaker 4: twenty two preview. You might see something more updated there
Speaker 4: in that regard. I'm not sure. I haven't followed along
Speaker 4: that course.
Speaker 1: Yeah, there's a twenty five coming that's likely out in November,
Speaker 1: not that I know anything, but I'm speculating because that's
Speaker 1: when they would normally ship it.
Speaker 4: It should be in preview by the time the airs.
Speaker 1: Somewhere in the quote unquote ignite time frame. And I
Speaker 1: imagine there's going to be all kinds of.
Speaker 2: Imagine there's going to be more a tooling seems like,
Speaker 2: you know that's where development is heading is in you know,
Speaker 2: the innovation is happening in AI.
Speaker 1: Well, there's all the new helpers, right like we saw
Speaker 1: this extensively with Microsoft Fabric. Not to go too far
Speaker 1: off track here, but because Fabric touches so many different tools.
Speaker 1: When you're doing data analytics and you've got POWERBI and
Speaker 1: the data warehousing clients and these different storage mechanisms in
Speaker 1: the lake and so forth, each one you don't use
Speaker 1: enough to be really proficient with so the fact that
Speaker 1: it was a copilot at each layer, it's like, what'd
Speaker 1: you want to do? Let me help you there, Like
Speaker 1: it's really powerful.
Speaker 2: It seems like a good time to take a break. Yeah,
Speaker 2: So we'll be right back after these very important messages.
Speaker 2: Stay tuned. Did you know you can easily migrate asp
Speaker 2: net web apps to Windows containers on AWS? Use the
Speaker 2: app to Container tool to containerize your iis websites and
Speaker 2: deploy to AWS managed container services with or without Kubernetes.
Speaker 2: Find out more about app to Container and aw dot Amazon,
Speaker 2: dot Com, Slash, dot Net, slash Modernize, and we're back.
Speaker 2: It's dot net Rocks. I'm Carl Franklin's my friend Richard Campbell. Hey,
Speaker 2: and that's our friend Mads Christensen, the Mad indentist of
Speaker 2: Visual Studio Extensions.
Speaker 1: And Mad's you said, Studio twenty twenty six. So is
Speaker 1: this official? What are we expecting in the version of
Speaker 1: Studio next year?
Speaker 4: No, it's out in preview.
Speaker 1: It is okay, so it's not next year, it's like
Speaker 1: imminently right now. One would speculate because there's certain events
Speaker 1: coming up towards the end of the year.
Speaker 4: Hey, but you know, I'm not in the business of speculation, no, so,
Speaker 4: but you know we when did we ship visuals do
Speaker 4: to twenty twenty.
Speaker 1: Two in fall of twenty one? As I recall, maybe, yeah,
Speaker 1: so I'm just doing math. How much did the whole
Speaker 1: AI wave derail? You guys, Like, I don't envy your
Speaker 1: situation because you push that out in the fall of
Speaker 1: twenty twenty one. Chat GBT is the next year, and
Speaker 1: you know, get Hub Copilot's already out, So that's a
Speaker 1: thing like this, It's been a it's been a while,
Speaker 1: Like you're not talking four years between versions of the studio,
Speaker 1: but they've been some nutty years, a little pandemic, a
Speaker 1: little revolutionary computing, like wooh.
Speaker 4: It's been it's like a train that hits you, right,
Speaker 4: It's yeah, it was it was like that. Yeah. We
Speaker 4: we changed the whole ORC structure, change, all of that
Speaker 4: changed in the past couple of years to accommodate this.
Speaker 4: So there's no question where that this is like such
Speaker 4: a groundbreaking change for everybody, and I think we're probably
Speaker 4: on the forefront of it because we are we are
Speaker 4: kind of the lower layers of that that enables others
Speaker 4: to kind of use.
Speaker 1: A name, and you're expected to dog food the new
Speaker 1: bits so you're seeing it before we see it.
Speaker 4: So all that was like really heavy. But I think
Speaker 4: like this year when we look at like get ub
Speaker 4: copilot adoption, like this year is where it's really exploded. Yeah,
Speaker 4: so I think the l ms now are so good
Speaker 4: with the you know, clots on at for another like
Speaker 4: they're just GPT five, like they're finally at a place
Speaker 4: Jim and I are two point five is you know?
Speaker 4: Was also another one that was like, Okay, this is.
Speaker 1: Good, real good.
Speaker 2: So I got a story for you. I was trying
Speaker 2: to solve a CSS problem and I knew it was
Speaker 2: a CSS problem, but I wasn't quite sure how to
Speaker 2: solve it because you know, I'm a C sharp programmer,
Speaker 2: not a CSS guy. And I asked Chatchept. I spent
Speaker 2: an hour with chatchyp Yeah, I like that he's holding
Speaker 2: up the mugs. CSS is awesome outside of the box.
Speaker 2: I set the challenge to chat Ept. I spent an
Speaker 2: hour with chatchept, and it could not figure out, for
Speaker 2: the life of itself, how to fix this problem. So
Speaker 2: then I went to get hub Copilot. I just created
Speaker 2: a new private repo in gethub with a scaled down example.
Speaker 2: Get ub co Pilot scratched its head for like forty
Speaker 2: minutes and then came back with the wrong answer. Then
Speaker 2: I went to Gemini and I, because Gemini is like
Speaker 2: built into Chrome, right, you can ask Gemini how do
Speaker 2: I fix this? And it completely baffled itself. It did
Speaker 2: not have the answer. Then I went back in the
Speaker 2: visual studio and I went to agent mode and I
Speaker 2: picked Claude Son at three point five and I said
Speaker 2: do this, And it was literally less than three minutes
Speaker 2: and it had figured it out. Claude's Son. It is
Speaker 2: the bomb for CSS anyway.
Speaker 4: It's really good.
Speaker 1: Yeah, and you're sort of speaking to that sort of
Speaker 1: new reality that just harnished the agents you got. You
Speaker 1: want a client that has access to all of them,
Speaker 1: and you can try your different problems on different right
Speaker 1: on different models.
Speaker 4: So that's that's really nice. You can now you can
Speaker 4: bring your own keys what we call it, right, You
Speaker 4: can bring your own API key and plug in you know,
Speaker 4: any other clod model or whatever. So but it's it,
Speaker 4: you know, it really depends a lot of a things.
Speaker 4: One is the context you give it like what does
Speaker 4: it understand about your project? And the other thing is
Speaker 4: the prompt, like how are you prompting it? And so
Speaker 4: that's the challenge because you know at what point I'll
Speaker 4: be becoming prompting engineers. I always think that sounds a
Speaker 4: little bit too big for what it is, Like it's
Speaker 4: a different way of asking a question. You know, does
Speaker 4: that make you a prompt engineer? But but you know
Speaker 4: there's some truth to that.
Speaker 1: I guess, you know, yeah, because I'm all, you know,
Speaker 1: I do a favorite of writing, so it must be
Speaker 1: a sentence engineer.
Speaker 2: Also, yeah, exactly paragraph engineer.
Speaker 1: Don't get crazy now trying to get there.
Speaker 4: So but what I what I do like is you know,
Speaker 4: I mentioned the thing where it kind of makes you better,
Speaker 4: you become a better developer. But the other aspect is
Speaker 4: that it will it will allow you to do things
Speaker 4: that you couldn't do before. So when I mentioned this
Speaker 4: stuff about the profiler right before, like I'm not a
Speaker 4: very low level developer, like I don't I don't go
Speaker 4: into unsafety sharp for instance, right, Like I've never used
Speaker 4: a volatile keyword. I don't know what it does, and
Speaker 4: I'm kind of afraid to know.
Speaker 1: But the name tells you everything you want to know.
Speaker 2: That's right, stay away, Yeah, danger here across.
Speaker 4: So that door was closed to me, right, And but
Speaker 4: with this this new profile agent, for instance, it can
Speaker 4: come in and it can teach me stuff. I can
Speaker 4: see how to do this, it can it can kick
Speaker 4: in the door that was otherwise closed to Yeah, and
Speaker 4: so it makes the impossible possible. And I really like
Speaker 4: that because it's like that. And then it doesn't go there,
Speaker 4: It doesn't open the door and walk in on its own.
Speaker 4: It takes me with it, right, we walk in together,
Speaker 4: and that I think that's the magic part. I think
Speaker 4: a lot of people miss that. They think, oh, you know, Copila,
Speaker 4: that's going to take over my job or whatever, but
Speaker 4: it is. It is really a cold pilot. I think
Speaker 4: that's important.
Speaker 2: Yeah, I'm looking forward to the day and I don't
Speaker 2: think it we're here yet. But it doesn't do really
Speaker 2: well with graphics and you know, animation and all that
Speaker 2: stuff yet that's not really in the in the models
Speaker 2: that I know anyway. But I'm looking forward to the
Speaker 2: day where I can think about something that I never
Speaker 2: thought of before doing because I know it's completely outside
Speaker 2: my wheelhouse. And then and then engaging some AI to
Speaker 2: help me figure that stuff out. But otherwise I would
Speaker 2: I would never have attempted it. But and I'm not
Speaker 2: talking about for professional reasons, like I would never say
Speaker 2: yes if a customer asked me to do something like that,
Speaker 2: but you know, for for messing around and you know,
Speaker 2: writing some fun games or something, I would totally be
Speaker 2: into it.
Speaker 4: Did you see the Scott Hanselman and Mark Prosenovitch they
Speaker 4: did this shader using copony. They had no idea how
Speaker 4: to write a shrader, and they did it. And they
Speaker 4: could use it as a background kind of animation movie
Speaker 4: thing that just ran in the background up the windows terminal. Yeah,
Speaker 4: and they've never written the shad before. And so again
Speaker 4: that was a door that was to go. They could
Speaker 4: have learned they had spent their time doing that.
Speaker 2: But good stuff.
Speaker 4: Here we are well.
Speaker 1: And that's always the thing, Like you have skills, you
Speaker 1: know you could do this, but your list of needs,
Speaker 1: the things, you know, priority list is so long.
Speaker 4: That's exactly it. You know, I got kids and family
Speaker 4: and stuff. I gotta leave work, and then I gotta
Speaker 4: leave work. I can't just you know, keep going. And
Speaker 4: that's the most most people are in a situation like that,
Speaker 4: your time is limited, and so having that kind of
Speaker 4: AI sitting there and being helpful to I think it's
Speaker 4: really good. Another one that's really helpful is it can
Speaker 4: increase your velocity. So I have a three hundred and
Speaker 4: something repos on GIDDA right, a lot of extensions and
Speaker 4: NU could package libraries and whatnot, and I get a
Speaker 4: bunch of feature requests and bug reporting, and I can't
Speaker 4: really as a single person, I can't do all of
Speaker 4: these things. But I can have the coding D and
Speaker 4: I can assign a task, say hey, can you take
Speaker 4: a look at this bug? Can you fix that? Or
Speaker 4: take a look at this feature request? And the more
Speaker 4: you use it, the more you kind of understand what
Speaker 4: it can do. And then you know, oh, this is
Speaker 4: a great candidate for the copilot.
Speaker 1: Sure to do for me. If you want one hundred
Speaker 1: percent unit test coverage, you know, you could beat your
Speaker 1: interns as much as you want to try and get there,
Speaker 1: but boy, the soft or knocks it out.
Speaker 2: Yeah that's right.
Speaker 4: Yeah, yeah, So I feel like you can your A.
Speaker 4: Your velocity can go up if you if you know
Speaker 4: how to use it in the right way. But that
Speaker 4: now you have, but then you learn that too write.
Speaker 4: So there's some new stuff to learn. And I think
Speaker 4: that's important that we do it and whatever time we've got,
Speaker 4: but don't dismiss it up front.
Speaker 2: One hundred percent coverage. I would set that on to
Speaker 2: go on a Friday night and then go away for
Speaker 2: the weekend. For some of these projects that I have,
Speaker 2: there's so big. Well.
Speaker 1: One of the patterns I've gotten into now when I'm
Speaker 1: asking the tools to write code is that they sort
Speaker 1: of do a tdd thing. I want you to write
Speaker 1: the test as well. And one of the effects I
Speaker 1: found with that was that often if you made too
Speaker 1: big of a request, it wouldn't finish it. Yes, and
Speaker 1: so including the tests and keep iterating this until all
Speaker 1: the tests passed. Actually create a pattern to finish the
Speaker 1: code request. Right.
Speaker 2: I don't like, you know, dot dot dot, you know,
Speaker 2: finish the implementation here. No, you finish it. That's what
Speaker 2: I'm asking you.
Speaker 1: That's what you do, you piece of software.
Speaker 2: You what I do?
Speaker 1: Is that what you do?
Speaker 2: Yeah?
Speaker 1: Nice? But I feel like more and more we're the
Speaker 1: project managers, right Like you're managing you only write certain
Speaker 1: bits of code that you're like, well, the tool's going
Speaker 1: to have at the time with this, but most of
Speaker 1: the other code you're you're just doling it out and
Speaker 1: checking it in. I feel like software developers are uniquely
Speaker 1: qualified in the scenario because the tools like GitHub and
Speaker 1: things like, we're used to taking contributions from unknown sources
Speaker 1: in some respects, and what's more unknown than an LLM, right, Like,
Speaker 1: just makes sense that okay, and it comes evaluated, you know,
Speaker 1: run it through the process integrated.
Speaker 2: And let's get meta here, Like you ask the copilot
Speaker 2: to write you something and it does a pull request
Speaker 2: and you check out that pull request. Now you should
Speaker 2: have an agent test that pull request. Sure, why not
Speaker 2: have another third part? Right? And so thinking about this
Speaker 2: in terms of, oh, it's not just this one agent
Speaker 2: that I'm interacting with, but multiple agents that do different
Speaker 2: things better than the other kind. That's this is the future,
Speaker 2: I think.
Speaker 4: Yeah, we're already seeing with the mcps, for instance, where
Speaker 4: they know now you have the playwright and it can
Speaker 4: go ahead and unbelievable too, launch your new pro request
Speaker 4: and the browser and test that it works. And I
Speaker 4: mean it's pretty phenomenal.
Speaker 1: The thing that got me with the playwright MCP was
Speaker 1: the ownership of the test problem on my part. Now
Speaker 1: is a set of prompts about what I need to
Speaker 1: valuate it on this website, And so as playwright changes
Speaker 1: on you and the site changes on you, you don't
Speaker 1: have to rewrite the test. They're regenerated by the prompt. Yeah.
Speaker 4: Yeah, yeah, that's nice.
Speaker 1: Yeah yeah, it's powerful, and it's just a funny way
Speaker 1: to think about software. And I don't know if necessarily
Speaker 1: like it's fun in the sense that I'm getting a
Speaker 1: lot done, but it's not fun in the sense of
Speaker 1: like that old school flowing with code thing that I
Speaker 1: used to do once in a while. It's not the
Speaker 1: same when you're shepherding all these tools, like you're you're
Speaker 1: kind of running an interrupt driven method of coding where
Speaker 1: various bits are coming back from different agents and you're
Speaker 1: trying to pull them together. It's like, where are we
Speaker 1: in the overall problem space here?
Speaker 4: You're definitely more of a conductor of an orchestra now
Speaker 4: when you take really take full advantage of all this stuff.
Speaker 4: But I don't I don't see that as Hey, the
Speaker 4: role of the software engineer is changing. It's just that
Speaker 4: we do we work in a slightly different way. And
Speaker 4: so we also now orchestrate stuff, but hopefully we orchestrate
Speaker 4: the stuff that's kind of boring or the stuff that tedious,
Speaker 4: or stuff that doesn't add unique where we you know
Speaker 4: that that we want to add unique value that only
Speaker 4: we can do, right, stuff that's like you know, makes
Speaker 4: us feel great and love our work, and where we
Speaker 4: have unique insights and we can be creative and come
Speaker 4: up with these fantastic things and then have kind of
Speaker 4: maybe the boring parts and stuff that would be great
Speaker 4: if someone else would take care of that, but we
Speaker 4: do the conducting of that.
Speaker 1: That was back to the old adage, right, Like your
Speaker 1: job as the software engineer wasn't to write code, it
Speaker 1: was to produce solutions. Yep, right, I remember. I mean
Speaker 1: I'm old enough down to remember switching to Visual Basic.
Speaker 1: His guy brought real tired of battling MFC, like you
Speaker 1: were mostly fighting with Windows, not providing solutions, and VB
Speaker 1: took that off the shelf, and people like we're not
Speaker 1: really programming anymore. It's like pretty sure, I am pretty sure.
Speaker 1: I'm going to be crying all the way to the
Speaker 1: bank here.
Speaker 4: Yeah, I forget who said it? But it was was
Speaker 4: it Repert Scoble or like Joe's bowlski or something that. Hey,
Speaker 4: you know, as a software engineer, your goal is to
Speaker 4: solve problems. Yeah, the side effect is that you write
Speaker 4: code or something like that. The by product is code.
Speaker 4: But we're here to solve problems. And so I think
Speaker 4: that's true in this new world as well. And I
Speaker 4: think we're still going to write as much code. We
Speaker 4: might even write more because some of this other stuff
Speaker 4: can be sort of automated away a little bit. And
Speaker 4: so I think we're looking at a very very bright
Speaker 4: future for software engineering. I think it's going to be
Speaker 4: more fun now than they has been in the past.
Speaker 1: The productivity explosion is astonishing. Folks have seen who figure
Speaker 1: this stuff out. I mean, I for a while there,
Speaker 1: the good Hub Copilot days, I was seeing folks saying, hey,
Speaker 1: my coders are pushing in more code. It's twenty thirty
Speaker 1: forty percent more productive. There's more reworks, like they're backing
Speaker 1: out stuff more often. But generally if it gets pushed
Speaker 1: and it sticks, it's pretty good in its days, Like
Speaker 1: code quality up overall. Yeah, Yeah, Now I watch guys
Speaker 1: that are knocking out two three weeks worth of work
Speaker 1: in a typical pattern in a day. Sure, Like it's
Speaker 1: just astonishing when they get it right.
Speaker 4: Yeah, yeah, right, And so I think like, as, but
Speaker 4: that's a craft too. How do you work with the
Speaker 4: prompting and with the yelms.
Speaker 2: Yeah, So also staying current on what the different lllms
Speaker 2: are and what their strengths and weaknesses are. I think
Speaker 2: that's a big challenge too, because you know that experiment
Speaker 2: that I did with the first chatchpt for an hour,
Speaker 2: and then you know that the GitHub copilot and all
Speaker 2: that stuff that took like a whole day just to
Speaker 2: figure out that claudees on at three point five was
Speaker 2: was the was the model that I wanted. And now
Speaker 2: when I go back that, I'm going to try to
Speaker 2: use that for a similar problem. But something else might
Speaker 2: have come around that makes it even easier. Right, So
Speaker 2: keeping up with these things is going to be a
Speaker 2: full time endeavor.
Speaker 1: I remember the arguments over is garbage collecting actually a
Speaker 1: good idea? We've been to these sort of changes in
Speaker 1: the way we think about code things before. Yeah, and
Speaker 1: it's just this is an issue one.
Speaker 4: And I also feel like, yeah, you have to keep
Speaker 4: up today with like which models are great for your scenario.
Speaker 4: Let's say, I don't think that's different than keeping up
Speaker 4: with other industry kind of.
Speaker 2: Yeah, it just most faster, most faster than language evolution
Speaker 2: or tool evolution.
Speaker 1: That may only be true right now.
Speaker 4: Yeah, it's a moment in time. I think it feels
Speaker 4: like we're on our way somewhere. Yeah, and we're trying
Speaker 4: to figure out where where does this go? Is this
Speaker 4: is the chat the right interface going forward? Is it
Speaker 4: a what is it? It might be, but it might
Speaker 4: not be. And so we're on our way there wherever
Speaker 4: there is.
Speaker 2: I have a suggestion to people who are hearing this podcast,
Speaker 2: and that is listen to more dot ne Rocks episodes
Speaker 2: because we'll keep you up to date on these things.
Speaker 2: Because we're doing the hard work out here.
Speaker 1: We're definitely asking some questions anyway and trying to get
Speaker 1: an overview. Yeah, that's true of you know, who's succeeding,
Speaker 1: who's struggling? Where are these things helping? Word? Don't they help?
Speaker 4: But we're thinking about this. You know, you might have
Speaker 4: heard this concept of ambient AI. Yeah, so the concept
Speaker 4: real briefly is that it's kind of sitting there in
Speaker 4: the background only showing its phase when it's needed, and
Speaker 4: it seamlessly offer you, you know, the help contextually where
Speaker 4: you want it. And so it's so think of it
Speaker 4: as something that's always there, but it's not in your way,
Speaker 4: and it's not something that you need to learn. And
Speaker 4: so we like that idea because it kind of fits
Speaker 4: naturally into things that already exist. So if we were
Speaker 4: to put it into Visual Studio, for instance, you know
Speaker 4: I mentioned the you know, the generated commit message, Well,
Speaker 4: we already have a commit message box. So adding a
Speaker 4: button that automatically does that would be it's a place
Speaker 4: where you expected, it's not in your way, you don't
Speaker 4: have to prompt anything, right. That's a that's kind of
Speaker 4: ambient AI thinking. Another one is renamed variable. We made
Speaker 4: a big splash about this because you know it's the
Speaker 4: one of the hardest problems in computer science is naming things.
Speaker 4: And so if you want to rename a variable, there's
Speaker 4: like a little UI and Visual studio for that. If
Speaker 4: you could click control r R on an identifier, the
Speaker 4: rename thing come up. We show you automatically the top
Speaker 4: three things that we think based on how that variable
Speaker 4: is being used in your code. What will be good
Speaker 4: names for that based on cipical naming strategies, and so
Speaker 4: that's ambient AI.
Speaker 1: Although we are talking about Microsoft here and you guys
Speaker 1: have a record about names.
Speaker 2: All right, well let's just put.
Speaker 1: That right out there.
Speaker 2: No size, that's the perfect name for what it does.
Speaker 1: You know exactly what it does.
Speaker 4: I'm the worst of naming things. They just the name
Speaker 4: is what they do.
Speaker 1: Yeah, yeah, which is actually the perfect name. Like, because
Speaker 1: nobody's confused in.
Speaker 2: The in the UK, they say, it's what's on the tin, right,
Speaker 2: what's printed on the can is what you get. Yeah,
Speaker 2: what's on the tin.
Speaker 1: It's what is in the can. Like, that's as much
Speaker 1: as we could hope for. I appreciate that.
Speaker 4: Uh.
Speaker 1: Can we talk a little bit about the sort of
Speaker 1: project side that is also visual studio because I think,
Speaker 1: you know, people will tell me, you, well, why would
Speaker 1: I use visual studio code of visual studio? And it's like,
Speaker 1: to me, studio is as much a project management tool
Speaker 1: as it is a development environment.
Speaker 4: It is. Now, that's funny, that's exactly how I look
Speaker 4: at it too, and that relationship you have between projects
Speaker 4: and solutions. But if you're new to visual studio, you know,
Speaker 4: a lot of people don't understand that concept, yeah, because
Speaker 4: it's just new to them, foreign to them, and it
Speaker 4: really allows us to do some interesting things when it
Speaker 4: comes to building and to building context, I mean compiling
Speaker 4: and building context for intellisents and so on when it's
Speaker 4: not based on a file system, but it's based on
Speaker 4: an intentional project structure. So I guess you could replicate
Speaker 4: that in the filesystem too, but that's typically not what
Speaker 4: you see, and so that's you know, we've it's always
Speaker 4: been a little bit problematic too, because loading from a
Speaker 4: file system is fast, but loading from a project hierarchy
Speaker 4: that you have to read the entire hierarchy first before
Speaker 4: you can figure out the dependencies between them and how
Speaker 4: to then render them in the solution explore right in
Speaker 4: the tree view. And so there's always it's always been
Speaker 4: more expensive from that perspective working with the projects and solutions.
Speaker 4: So this time around we've we've finally i'd say, been
Speaker 4: able to go really really deep on some performance stuff
Speaker 4: to make that, you know, faster than ever. So you'll
Speaker 4: notice the first thing you'll notice in the new version
Speaker 4: is how fast things show up, how fast project solutions
Speaker 4: load all that, it's just it's visible immediately.
Speaker 2: I was under the impression that the reason why visual
Speaker 2: studio proper is slower than say visual studio code is
Speaker 2: because there's a lot of calm involved in stuff, and
Speaker 2: so that naturally kind of slows down the whole process
Speaker 2: and kind of bloats the memory. But I don't know
Speaker 2: if that's really true. What do you think about that?
Speaker 4: No, that that had that has some truth to it,
Speaker 4: for sure. And but also like visual studios over twenty
Speaker 4: eight years old, and so there's there's some things that
Speaker 4: have just evolved over time, like some debt that has
Speaker 4: been building up, right, and we've finally been able to
Speaker 4: look at that, but some very key aspects of it.
Speaker 4: But one thing that was was a thing was blocking
Speaker 4: the UI threat. So when you would click a button
Speaker 4: to do it something, sometimes whatever would happen when you
Speaker 4: click that button would do that on the UI threat.
Speaker 4: And what that means is that visual studio freezese. Nothing
Speaker 4: could update on the score, right, and so we would
Speaker 4: and so we get what we call it's called a hang,
Speaker 4: but you might call it a freeze, and Zoo would
Speaker 4: be unresponsive for like a half a second.
Speaker 2: Once the programmers know all about that though. I mean,
Speaker 2: if you've done any kind of multi threaded or a programming,
Speaker 2: you know what that is.
Speaker 4: That's top programmers.
Speaker 2: Richard had this comment about outlook sixty five threads and
Speaker 2: not one of them for me, that's my thread.
Speaker 4: But when you start but when you start doing that,
Speaker 4: and that's part of that profile the thing too, right
Speaker 4: or or debugger where like something like an AI can
Speaker 4: help you. Is it's really hard to d book like
Speaker 4: acinc call stacks and you know, multi threaded applications or whatnot.
Speaker 4: But this time around, we've really really done more than
Speaker 4: ever in terms of moving things out of the UI
Speaker 4: threat and that we run dot net you know core
Speaker 4: processes under visual Studio that you know runs very qui
Speaker 4: and very fast, and it does a lot of that
Speaker 4: work in the background now. So you'll see visual Studio
Speaker 4: becoming a lot snappier. So opening startup, opening a solution,
Speaker 4: time you hit five, like compilation and time for you
Speaker 4: to hit When you hit a five too, you hit
Speaker 4: your break point. Is that was so much faster than
Speaker 4: ever was and it does all that while the UI
Speaker 4: is still respond here.
Speaker 2: If you guys at Microsoft, the people that are working
Speaker 2: on Visual Studio in general are using AI to help
Speaker 2: them find bottlenecks and find places that need to be
Speaker 2: fixed or updated.
Speaker 4: Yeah, we're using it internally. You have to you have
Speaker 4: to think about the So the Profiler Agent is really new,
Speaker 4: So we haven't used it like extensively, like for a
Speaker 4: long period of time. It's very new, and I tell
Speaker 4: you it was. Some of the first things we did
Speaker 4: was we told all the teams, hey use it on
Speaker 4: your own code base inside Visual Studio, and so we
Speaker 4: see optimizations come in all the time. But what Nick did,
Speaker 4: he's on the profiler team, he did something really interesting.
Speaker 4: He started with the top hundred Nugat packages and he
Speaker 4: would profile them to figure out where are the hotspots
Speaker 4: or whatever and can he fixed them? So he sent
Speaker 4: starts sending pull requests to the top Nugat packages because
Speaker 4: they're used in thousands and if not millions of apps, right,
Speaker 4: and that means if he can like do seventeen percent
Speaker 4: better performance for some of these packages, like that's a
Speaker 4: huge win for everybody.
Speaker 1: Yeah wow.
Speaker 4: So he's been very busy doing that and that's really
Speaker 4: great because that trains him in using the product and
Speaker 4: figuring out where there could be further improvements and so on.
Speaker 4: Plus all the internal dog footing stuff off that profiler
Speaker 4: ends up making everything better and we can fine tune
Speaker 4: all these things and it's it's really impressive.
Speaker 2: Well, I guarantee Polly isn't one of those newcat packages
Speaker 2: that needed improvement.
Speaker 4: It's really should I tell nick to go look at that.
Speaker 2: No, it's really fast, it's really good.
Speaker 4: Oh, it's fast enough, it doesn't need Yeah, it's.
Speaker 1: Like all native the as your team got involved because
Speaker 1: they were leaning on it. Pretty Yeah.
Speaker 4: I think actually Nicky found that when he ran some profiling,
Speaker 4: he figured out all the way down in dot Net
Speaker 4: framework itself that there was something that could be optimize.
Speaker 4: So I think he's gonna send up a code update.
Speaker 4: I'm not sure they take pull requests in the traditional sense,
Speaker 4: but like he's gonna see if we can get some.
Speaker 2: That's so cool.
Speaker 4: That framework, because that has to do with visual studio startup.
Speaker 4: Visual Studio actually is a native process that boots up
Speaker 4: the dot Net framework in its own. It's like it's
Speaker 4: really kind of.
Speaker 2: And you're talking about you're talking about the Donet framework,
Speaker 2: the Windows version of dot Net framework.
Speaker 4: Yeah, framework for it Yep.
Speaker 2: That's so cool that you guys are doing that, and
Speaker 2: it's it's inspirational.
Speaker 1: Really well, it's just a reminder that Microsoft employees use
Speaker 1: Visual Studio like the products you build the products with
Speaker 1: the products Uber Dog Souper.
Speaker 4: That's my joke always like, hey, did you know that
Speaker 4: Visual Studio twenty twenty six was build using Visual Studio six.
Speaker 1: That's great, it's true. So where can folks take out
Speaker 1: preview out firs spin.
Speaker 4: Yeah, go to visual studio dot com, click the download
Speaker 4: button and select the preview of twenty twenty six. That's
Speaker 4: how you do it.
Speaker 2: But if you already have the Visual Studio installer, you
Speaker 2: can just load run that and it'll tell you if
Speaker 2: there are preview versions, right.
Speaker 4: You need to maybe if you have the preview already,
Speaker 4: you've got the latest on the preview that includes the installer. Otherwise,
Speaker 4: just go to visual studiot com click it there. If
Speaker 4: it doesn't show up for you, and you can install
Speaker 4: a side by side. It won't interfere with any other installs.
Speaker 4: You got a Visual Studio twenty twenty two or whatever,
Speaker 4: and it will it will look at twenty twenty two
Speaker 4: if you have that installed. So when you're installed twenty
Speaker 4: twenty six, it looks at twenty twenty two, and it
Speaker 4: looks at your settings, your extensions, and the components the
Speaker 4: workloads like if you're if you've taken like let's say
Speaker 4: dot net, ASP, dot net and desktop, those are your
Speaker 4: two workloads. It will copy that information. It will take
Speaker 4: that information from twenty twenty two and pre select all that.
Speaker 4: So your installation is super smooth. You get all the
Speaker 4: components you need, settings and extensions because the extensions are
Speaker 4: you're twenty twenty two. Extensions work in twenty twenty three.
Speaker 2: You go, let's hear for extensions. Yeah, going into the future.
Speaker 4: Very exciting stuff and that. Yeah, so it's super fast
Speaker 4: to get from you click the install butt until you're
Speaker 4: able to open till you're able to open your solution
Speaker 4: and start writing code. Is probably the fastest ever.
Speaker 2: Fantastic nice All right, Well, geez, I think I ran
Speaker 2: out of questions. You got any more, Richard.
Speaker 1: No good. I think it looks like it's gonna be
Speaker 1: an awesome version of the studio, and it's been a
Speaker 1: while coming, but I understand why.
Speaker 2: Matt, thank you so much. It's been awesome as always.
Speaker 4: Thanks for having me. It's my pleasure as always.
Speaker 5: All right, and we'll talk to you next time on
Speaker 5: dot net brocks.
Speaker 2: Dot net Rocks is brought to you by Franklin's Net
Speaker 2: and produced by Pop Studios, a full service audio, video
Speaker 2: and post production facility located physically in New London, Connecticut,
Speaker 2: and of course in the cloud online at pwop dot com.
Speaker 2: Visit our website at d O T N E t
Speaker 2: R O c k S dot com for RSS feeds, downloads,
Speaker 2: mobile apps, comments, and access to the full archives going
Speaker 2: back to show number one, recorded in September.
Speaker 1: Two thousand and two.
Speaker 2: And make sure you check out our sponsors. They keep
Speaker 2: us in business. Now go write some code, See you
Speaker 2: next time.
Speaker 4: You got Javans
Speaker 1: And s