How'd you like to listen to dot net rocks with no ads?
Easy?
Become a patron for just five dollars a month. You get access to a private RSS feed where all the shows have no ads. Twenty dollars a month, we'll get you that and a special dot NetRocks patron mug. Sign up now at Patreon dot dot NetRocks dot com. Hey guess what, it's dot net Rocks twenty twenty five edition. This would be our third episode of twenty twenty five. Franklin, that's Richard Campbell.
Hey you new year, go man.
I think it's going pretty well.
Time shifting.
Yeah, it's fun. We always have fun, and we always have fun with Rob Conry, who's coming up here very soon.
Be entirely too long, Yeah, yeah, it's been.
Entirely too long. But what's going on up in the Great Northwest? Richard?
Ah?
You know it's the normal winter weather, which is to say, gray, much gray. In fact, by the time this show is publishing, I will be in Mexico. Because the way to not lose your mind in the deep gray of the Pacific Northwest for months and months is they do a couple of weeks in the sun so.
Leave some garbage out for the bears.
I hope off the Portavarda. Yeah, you know. Bear intensity is actually lower here than in the city. Oh, you know, because they isn't that interesting because right, it's easy food. Right here, the food's not as easy, so they there's not as we've got more deer problems and they're true hazard in this part of the world is the elk.
Yeah, you hit one of those.
Elk is big, right, and and they're not there's never one. There's twelve, and one of them is a male with bad attitude. Yeah, and so yeah in the fall when they're down like it's we One time we turn onto our driveway. There's twelve bulks standing in a driveway and I sort of look over at her and go, you know, we can go to the pub. She goes, yeah, let's go to the pub. So I turn around. You don't want to mess with elk. So they're strong enough to flip a car our elk bigger than moose. No, moose
are the biggest, but moose tend to be solitary. Right. The story goes, if you hit a deer damages your car, Yeah, if you hit an elk, it probably kills you because it goes over the hood through the windshield. You probably won't hit the moose. You'll go under it, right, Like, that's how big moose are. They're really, really quite large. But you only ever see one or two. But we only lived up here a little over a year, and three times now i've had a dozen elk walking by the highway.
Wow.
And yeah, no, they're they're they're an issue.
But they could be good eating if you hit them right.
Yeah, absolutely, And there is a hunting season up here, without a doubt. Do you have some friends with you know, venison and elk. They generally blend it with pork to make sausage pork fat.
I remember a story when I was a kid. I heard that friend of a friend or whatever hit a moose with the car and it went through the windshield and it told, you know, they were unconscious and stuff, and the last memory they had was looking up and seeing the moose running away with a luggage rack in its snagglers.
Yeah. Yeah, Now that's the thing is you're going to wreck the car, but moose very unlikely walk away. But yeah, moose are so tall, Yeah, you know you'll go right almost right over them right right out of your legs.
All right, let's get to better know a framework. This is a good one.
Tell me all about it, all right.
So this again is another thing that Brian McKay, one of the next guys.
Kay has produced a lot of good stuff and they better know a framework category. Over the years he finds the stuff and and I wanted to show Rob this.
It's hit in mix dot com, hit and mix hiitmix dot com. So they call it an AI digital Audio workstation. So they do stems AI separations stem separation. So what that means is you have a song, you put it in there, and let's say it's bass, drums, piano, guitar, and singing. They can extract those individual tracks, so.
The machine learning model will actually pull apart the song for you.
Yeah, it'll give you a raw drum track, a raw bass track, a guitar track. I don't I haven't heard it work really well, right, you know, it's kind of like a novelty. But if you're going to actually do anything with those tracks and make them sound good, I don't know, but it's interesting. So you can also edit stems note by note so that it can turn a bass track let's say into notes and Rob you can chime in here if you want to take a look
at the video. So if you're familiar with MIDI editing, it's kind of like that wow, or even you know the auto tune and melodine and those kinds of things where you can take audio notes and move them around and change the pitch and all that stuff.
It's pretty neat. You know, I'm taking a drum lessons and my instructor will come in and remove a drum track so that I can actually play along with a song, which is insanely helpful. So that would be really neat for something like that.
And you don't hear any of the drum tracks in the background.
Well you can hear a little, but forgot the app that he uses. It strips out the drum track. But he'll also strip out a drum track and put a little section on loop so I can learn a song and try and play along with it.
That's really cool.
It's traditionally in remixing music, like a lot of musicians who are into remixing will publish stems. They'll take a song and say here's sixteen stems from it. Here's the drum trackers baseline, here's you know that sound and so forth, so that you can make your own thing effectively with their permission, Like this is kind of making stems against the artists will Yeah.
That's right. I knew an artist, a producer who got his hands on the real stems for Long Train Running by the Doobie Brothers, like the individual tracks. There was no AI back then. It was in the nineties and or the two thousands anyway, and that was really cool. I was like, Wow, I would love to get my hands on that, just the player, and he's like, no, I'm sorry, I was sworn to.
Uphold the On the other hand, you happen to be somebody who could play each of those stems anyway, So just make your own.
It's true I could, but not the foals.
I've seen you do it. It's not even a speculation.
Yeah, well, the vocals and the chorus on the vocals, you know, the gang vocals.
That represents an impossibility to me, Carl. That represents some effort for you, That's all it is. You know who to call, In fact, you're friends with who to call.
Yeah're probably right.
You have the place to have them bring them to to make it like if you want the steps to make them.
Yeah, okay, none of that. I thought this was a really cool thing. And Brian thanks for showing it to me. He's shown us other stuff in the past.
Of course, I know. Another great find by Brian Austin.
Thanks and no learned to love it. Who's talking to us today?
Richard grabbed a calm on top of the show fourteen seventy one. Yeah, a little back into the way Back Machine twenty seventeen, which was a panel discussion we did an NDC oslo well going Serverless with one Rob Connery, our friend Lynn Langett and Matthias Brandewinder. Great, it was the early days of Servilus, right, it's twenty seventeen, so this is we talked a little lambda which really where that came from, and then of course Azua function and
so forth. There wasn't even a conversation about containers at the time, the fact that under the hood this is containers, it's just their automated so you don't have to own them. And a past guests too. This is a committedly a comment from seven years ago. It's from Chris love Ah, our JavaScript friend. Yeah, he says, another great episode about a topic I have fallen in love with. I've been migrating everything to serverleist the past year, and it rocks
not only in performance and scalability, but costs. When Orchard asked Rob's about static progressive web apps over serverless, I cheered, like my team just scored a winning touchdown. That's exactly what I'm doing these days. It makes me wonder if Richard has been spying all my daily work like I have that kind of time. This was a great panelisquession. I felt like they actually covered so many topics that
have crossed my path in the last year. Made me feel much better about where I am, where I've been, and where I'm going with serverless. Now I know I'm not doing it wrong. What a confidence booster. I'm a little disturbed at your confidence in us there, Chris. We're exploring a technology, although admittedly in twenty seventeen, so what is that you know eight years ago?
Now?
Something like that again early days of serverlests, and it did take a lot of stuff off the table. I've certainly liked it from the modular monolith perspective, that's taking the problematic class out of your big you know, mother of all class set and sticking it over in a serverless instant just to scale it independently or to telemetry it independently, like to really put a wrapper around it.
And then that's almost an interim phase, like you could leave it like that, but you're not happy with it, and now you re engineer a bit make it more of a traditional micro service like this. It's to me, I'm always a performance tuning guy, and it's helped me with the performance problem. And serverless is one of those great tools in the pocket of let's take the trouble child and put it in its own can well anyway, Chris, I don't know if you have a copy of music Code,
I would like to send you one. If you'd like a copy of music code, I write a comment on the website at Don Atrocks dot com. We're on the facebooks. We publish every show there, and if you comment there and I read it on the show, we'll send you copy music go by.
And of course there are other social medias out there that we you know frequent. We've been on ex Twitter for years of course, at Carl Franklin and at Rich Campbell. We're also on blue Sky at Carl Franklin dot bsky dot app and Rich Campbell dot bsky dot app. And also I'm Mastadon, I'm Carl Franklin at Techa dot social.
And I'm Rich Campbell at Masterdon dot social.
Multiple ways that you can get yourself a copy of music to code by just by sending us something interesting.
I'm looking at the current traction around Blue Sky now, you know, not just the tech folks hanging out there, but also news conversation and political conversation so forth, Like, oh yeah, the gravity of a Blue Sky right now is interesting because I got a threads account, you know, and we're in the I mean in the midst We're still working on the geek outs for the end of the year, and so I often am talking with folks about what I'm working on the geek outs, and the
amount of traffic I get from Blue Sky is astonishing, more than Twitter.
I have almost caught up to the number of followers that I have on maston on Blue Sky, but it's going faster, like Mastadon kind of leveled out, but more and more people. And I subscribe to a couple of news feeds on Blue Sky, and I kind of like it. Except the occasional story about wrestling, which I have no idea why. I guess they don't do the targeting like you know, the REDS and Facebook does.
It's still early days.
Yeah, give them time. The time, they'll figure out what you want, what you don't want well.
And also part of it was eventually gets so busy that they're filtering for their own benefit because it's just the amount of traffic they got to push right right. They're getting bigger, but they don't have the same crisis as some of these larger sites.
I do read Canadian news too, which is interesting. Everybody apologizing to each other.
We're having adventures at the moment, you know, about as interesting as Canadian politics gets.
Okay, Rob, Before we formally read your bio, I just wanted to mention that what we've been doing lately is highlighting things that happened in the year that is the same as the episode number of Dot in Rocks. So this is episode nineteen thirty three, and of course a lot of things are happening in this time in history, most importantly being the Great Depression by far the Great Depression. Franklin D. Roosevelt is inaugurated as thirty second President of the United States on March four.
They also he has an attempt on his life too. Oh yeah, yeah, it was an assassination and killed the mayor of Chicago in the incidive.
Was he the one that somebody shot him at point blank and he survived? At or Eddie Roosevelt the other Roosevelt, the other Roosevelt.
Yeah. I think the other Roosevelt shot himself as part of his mourning eublutions because he was essentially indestructible, right, Yeah, he was fully teddy Roosevelt. Different kind of creature.
Yeah. Additionally, Adolf Hitler was appointed Chancellor of Germany on January thirtieth, marking a pivotal moment in history.
Yeah, that's a big one.
Oh yeah, great depression rise of Hitler.
Yeah, all happening.
Stay tuned for next episode.
Let me throw one in that you'll like, okay, which is nineteen thirty three is the year that Alan Blumlin at EMI, the British recording studio, first demonstrated stereophonic sound using records. So that's the combination of the duel recording the etching tools. Like they've been working on it for a while, but it all came together in thirty three to make the first stereo record.
You know, one thing I've noticed, maybe Rob you have two. But since becoming more of a global citizen, you know, traveling a lot and meeting people outside the United States, I have learned that there's a lot of mythology in the United States around Oh, we invented everything here, and it's just not true.
You know.
The funny thing is every country you go to, there's another person with the mythology of their country inventing every Yeah. I think the first automobile was invented in the UK before Henry for Henry Ford. Just Harry Ford made the mad viction line production line. Yeah, which is really important. He made the He made the car available to regular people like his whole he said. His stated goal was I want my factory workers to be able to buy a car. Yep. Before that cars were expensive playthings.
Right. One of the places I went that kind of brings that home to you as an American, Uh, that you know you're not the center of the world. Is if you go to Australia, they will they will correct you right quick. Yep.
Yeah, they're very sure that the center of the world very anyway.
It's fascinating stuff, all right. So that was Rob Connery. He works at Microsoft with the Visual Studio Code team, creating content for YouTube, as well as contributing to open source projects. Rob is also the author of The Impostor's Handbook, The Impostor's Roadmap, and A Curious Moon, which is one of Richard's favorite books because of the ending, which we will not tell you what it is right now because
we have more respect for you than that. But you know, if you've been around through the whole asp Net and NBC.
Era, you know who Rob is.
He was right there when all of that stuff was happening. And yeah, that is not in his bio because he's doing more current things now.
Damn. So welcome Rob, Oh, thank you, thanks for having me.
We only get to have a member of Scott Guthrie's Ninja Army on everything. It's a rare thing. Really, Yes, you gotta space us out. You know, there's four faces on that cover back in the day, you go, Hanselman and Phil Hack. Phil Hack and yeah, I think you're the only one that doesn't look like a twelve year old.
On that picture.
I'm the only one with the most metahair.
There you go, right, No, So what are you working on these days?
My friend?
Well, about I want to say, eight months ago, I changed teams at Microsoft. I'm still I'm still in the advocacy stuff. They changed teams at Microsoft to go help the VS code team and working with Burke Holland and Olivia Gazardo and Rentald Doolf. And yeah we do. We do YouTube videos and all kinds of content, but we also build things, which is fun. So you know, it's funny. You know, friends give me a hard time about, oh, developer relations, what do you actually do and blah blah blah.
And it's surprising the amount of work that goes into this job especially I would say about seventy five percent of what I do is internally focused. So you know, I'll test. Just the last week I banging on our free tier offering for co Pilot which just came out. Banging on that and also writing extensions and testing out different frameworks. It's pretty fun. I enjoy it. It's kind of like you're a test pilot in a way. So yeah, that's what I've been doing.
That's really cool.
So it's just like unshipped bits you're taking out for a spin and sort of seeing what you could make with them at the time.
Sort of yeah, they'll come up with a well, they'll come up with like an internal API. This is one of the first things I did when I joined the team is they had an API for extending Copilot and they said, well, we need to have an extension made and see if it actually works. And so I said, okay, great, and I had this idea of you know, what happens if Copilot became aware of your database, and so I made this extension that would introspect if you gave it
a connection strain and permission. Of course, it goes into postgress and runs a bunch of queries to know what your tables and your schema looks like. And then you can ask Copilot to do all kinds of things, which one of the things I had to do was created an entire entity framework model set for me, which was pretty neat. And you know, it's amazing how thorough Copilot can be if you give it access to a schema or even just upload a SQL files and that's what it can do.
Well, you couldn't have a WHAMI there if you're taking a schema file then eventually turning it into a rag right, like, here's your data set to understand. You'll get it pretty much just by giving a connection strain off of gettings.
I like that.
It's clever.
Yeah, so it's kind of fun. You could talk to your database and I kind of being me like they just asked me to do a couple of things. I'm like, oh, no, we're going to take this thing to the moon. Let's go.
We're on the path. You put me on the path. Now you don't think I'm going to go all the way down the path.
There's a scene.
I like the fact that it's smart enough to figure stuff out like that. You know, if you have a junior developer and you say, you know, hey, go check out the database, they're like, well, what's the schema in here? Have the connection string and leave me alone, right.
Get get to it. Get to it? So can we take this thing out for a spin? Where is it?
Yeah? It's the If you go to where is it, it's on the VS code Extension store And if you look up Postcress participant and what you get with that is you get an at Postcress I believe, or at PG it might be the participant in the chat participant and it looks for it looks for a database connection string in a dot em v file, which we're going to be talking about in a minute, I guess. But yeah, it looks for an extension there. Otherwise you can just add it manually. So yeah, it's pretty fun.
That's cool.
There's a scene in a movie I watched on the plane when they're coming over to coming over to Oregon where I am right now, and I was watching The First Man, you know, Damian Chazelle movie about Neil Armstrong. Yeah, yeah, yeah, yeah, and there's a scene where the Russians just sent people out for the first spacewalk and you know, all the astronauts are all upset, and I think it was Deke Slayton was in the in the briefing room and he said,
here's what we're going to do. We're not just going to go here, and he drew a line all the way across two chalkboards. We're going to go there. And he's pointing to the moon and he was great because he's like, I think this is to scale. Digging this up is that's kind of what I did with this extension. I'm like, we're not going to go there. We're going to go all We're gonna have some fun to this thing.
M I mean, what I appreciated about that movie too is they also show that guy very nearly died. Yeah, right, Like he had to puncture his spacesuit and depressurize it enough to get back through the air loof because this suit wouldn't really hate its shape without pressure around it, and it inflated the point where he couldn't get through the air well. Yeah, those guys did reckulously dangerous things. It's remarkable we didn't that more of them didn't die.
I know.
Yeah, is viper dot Net part of that vs code thing?
What is that?
So?
So this is an interesting thing. I have a bit of a preamble, but I'll try and make it as quick as I can. So, in the previous group I was in, I was focused on doing Linux and Linux
outreach and so on. So my compatriot, Aaron Whistling, and I came up with a way to test vertical applications on Azure, if that makes sense, So little applications that maybe every business needs, so we could exercise different parts of Azure and Azure's Linux offerings, and so we kind of wrapped it with his name tail when Traders, which is kind of our internal It's like a it's like you remember old north Wind and Adventure work. Yeah, so
it's kind of the new version of that. So anyway, we just started building things and and so one of the things I realized quickly is I was doing a dot Net application, was configuration in dot net is weird. And I know I'm probably gonna get some heat for this, but you know, over the years, it's shifted all over the place, and like, how do you get your configuration settings? Well,
you know me, this is how old I am. I'm like, well, do I have to put it in you know ww canfig file like our webconfig file?
You know, like how about an any file?
Yeah? Where does this stuff go? It's so and go and go Land. They have a project called viper which handles all of these settings for you and it'll look all over the place for you know, settings, dot json files or environment where you might have some settings there. And so I thought, hey, I bet I could port
this over to dot net. And so I made this project that will look it uses i canfig and so it'll look anywhere and everywhere for settings files when it starts up, so dot env it'll look and and it try and takes. It tries to cues from the ASP dot net core, dot net environment variable as well to know if it's in test or production or dev, and then it'll look for a dev dot json, a product Jason and so on. Anyway, what it tries to do is simplify this entire process, and that's what it is.
And I thought the configuration process in dot net I can figure whatever when you read from it kind of did that like there are tears right. You have the app settings dot Jason, dot developer yes or development first, and then a upsettings that Jason, and then it will go out and look in you know, wherever. I guess if you're running in production in Azure, it'll it'll read those things, the environment variables also. But isn't there a a hierarchy to those things.
It's a good question. I showed this to Damian Edwards who was very quick to say, well, what are you doing? Mate? Yeah? I said, you know, I'm just doing my thing, man, just doing my thing here tries I might and it's been it's been long enough now that I can't remember the exact problem I was having, but tries I might.
I could not reliably get environment variables read from a dot een v file just in time and so and so that's what you know, That's what I'm used to from the node world and Ruby world, where you have a dot env file and everything is read in along with some secrets like where are the secrets and so? Right, it has a secrets thing you do dot net secrets, right, So I kind of just wanted to I wanted to have everything kind of play together nicely. So that's what this project is.
Well that's cool, Yeah, nice, that's great.
I just started to put it in place and you know, work from there. Because I would also wonder how the jacent this would be to something like Aspire.
Oh that's a good question. Yeah, I don't.
I mean, this is more dot net center, it is necessarily cloud center.
But yeah, but you are at some point reading from the Azure configuration, aren't you.
That was the next step, Like you're talking about key vault maybe or are you talking about something different?
Well, okay, app settings, app configuration variables in Azure. So when you have a web app, let's say you can go into the you know, configuration and add variables. It's just basically a key value thing. And so if those have the same name as the ones that are in your local config file and they're in production, they'll be read from that.
Yeah, it's been a while, so I have this is funny, going back to copilot, it's been a while. And when I made this project, I had not done dot net in years, and that's not for any other reason.
Then.
I just was doing other things and right, I'm going to help myself here. One of the only reasons I was able to get through this is I used co Pilot's funny. That's the right question back in the kind of the not I want to say, early days, but kind of just as it was getting going, I turned it on and someone had said it does quite well with dot net and I was like, oh great, and sure enough. I remember just sitting there going, oh my goodness,
wooh that all right, that's how that works. And yeah, it's pretty funny, but.
As much reminder as anything else. But at least it was leading you down the right path. You weren't banging your head against keyboard trying to remember stuff.
Yeah, and where we left off was and we might come back to this when I say we me and Aaron whistling, we left off with trying to work with a key volt and it did, but it was slow because it slid our test down only because we were working locally and not in the cloud. So if we're in the data center it'll probably be faster.
But yeah, anyway, yeah, now you're hitting all the authentication stuff right, yes, yes, and you know you gotta be
careful with that. No, and it's also takes time, like there's no, that's all all, especially if you're doing when you're doing testing, like you notice you start to really notice the reaff reoff real steps that you go through with an app identity exactly, stuff you wouldn't normally do, like don't optimize that you only need the indication off the bat to get that, you get whatever token you need to work with and app that you're good.
Yeah. Well you're bringing up an interesting point too, Carl. You mentioned this before that when you do read configuration, you're going to have you know, you're going to have various keys that are going to be duplicated across environments and also you know, across location like development or my machine versus yours? Right, and how do you how do you manage that? It's it's not an easy not an easy thing.
And you want the flexibility to be able to read where appropriate, but also you don't want it reading where you don't want it from.
So to be honest, don at eight came out after I put this together, and I think I might have upgraded it, but I don't know exactly how Configuration Manager works or the configuration bits work these days in terms of trampling things and what it holds to be correct.
Right, So, and you mean nine, eight or nine? Like nine just came out?
Is it? Nine? Yeah? Maybe maybe that's what I meant, like a built you eight, Chris turn the numbers in my head man.
Well, and plus shipping dot net every year it has been arduous. Yeah yeah, they've really only done it three times in a row now or four times in a row. Now it's four times and we're all like, yeah.
Yeah, you know, it's funny. Oh, ping people on you know, DEVDV or developer division, ah, ping people on the dot net team or whatever and ask them some questions like they'll be I'll get back to you. We're gonna ship dot net we're getting ready to ship you. I'm like, didn't you just do that? It seems like you just did that.
You're like, oh god, they just did.
It's like a long runway to get up to speed and get all the docs right. Wow, everyone is just full guns.
Oh there was and there was a big stink around the fact that dot Net nine shipping means that dot Net six, which is the long term support version, long term meaning three years, it's going out of support. And people are like, but what are you doing to me? Like I don't want to move right, Like aren't you going to keep doing patches? Like no, It's like, well, what if I need a patch? It's like there is a patch called at nine. Well, and it's fat. It's really quite and.
Easy to go from eight to nine, but not so easy to go from seven to nine. I'll just say that because they especially in visual studio proper, because the templates are completely.
When they're sinking versions of the studio with because studios not on an annual cadence, but every time studio gets updated alongside a version of dot net, you have a hit. And six was that, Like I think a lot of people are stuck to six, because six was the one where you also got a new version of studio. You got nineteen and it was painful.
And it's those templates that change, and you can still use the old way of you know, having a startup CS and a program CS, and now everything moved to program We don't have a startup CS anymore in the templates the web templates anyway. And yeah, it's it's a challenge.
It's not a trivial refractory. It's not automated. You have to go through. It's it's not like it's impossible, but you're going it's the worst kind of code fixes your best. Nobody will notice. More likely something that used to work is going to break.
Eight to nine though, was a breeze for me.
It was I think they've settled down, but you know that I'm definitely talking to folks that are only going LTS to LTS. Yeah, they got to six and it was a battle and they hadn't gone around to get an eight yet, which is the next LTS. And then now nine came out, so six going out of support and like I have to go and you know, I do it, and then they really want to go to eight. It's like really, because you know it's gonna happen to you again.
I wonder if you'll stop at eleven like Windows, Yeah, everything will be dot net eleven.
We already made a dot net nine, which they did not do for Windows for very various reasons. But I don't know how many organizations are actually on the annual update cadence. I've talked to far more that are only lts like every other man. The perfin nine is just great. It's a shocker. Yeah, Chin, switch the framework and your app goes faster. It's amazing.
Blazer server applications are so much better because you don't get the what did I call it, the semi opaque veil of death?
Yes, it was a blue screen of death, and it was a white screen of death that was a yellow opaque veil of death.
Yeah. One of the things that that I was building with Aeron in the Tailwind project was I wanted to make a mail list server that worked with markdown files nice. And we had a goal of sending out twenty five thousand emails and I think my I set the goal for under ten seconds, which you thought, Okay, you know this has obviously got some networking issues around it and so on. But you know, isn't there some kind of
cool threading thing? And you know, I talked to I talked to a few people and they're like, oh, just use the oh no, that was deprecated in that. Anyway, there's a lot of confusion, confusion about how to do this, right. I had no idea, and so I just I I still like an ad for copilot, but.
Yeah, you know, whate knows. I was going to say that, you know what it knows?
Yeah, And so I put it in and I can't remember the exact code that it wrote. But anyway, what it did is it spawned what twenty five thousand different threads I suppose or something. It spawned a bunch. Actually I shouldn't say that because I don't know how the internal workings are. And it sent out twenty five thousand emails I want to say, in two and a half seconds, and whoa, yeah, no doubt. And so when you say sent out, what do you mean there is a project?
There's a project. I can't remember it's oh, I'll come up with the name. But it's a local website that you run, and so you can actually use it as an endpoint like a mail service and you can actually you can mimic the network settings on it, so I you know, I tuned it to I think is one second something like that delay for receipt, and I just my jaw hit the floor. I was like, you've got to be kidding me.
Now I know where all that spam came from.
Connery.
Yeah, it's pretty funny though, Yeah, it's pretty funny. I should go, you know, I'm going to go look for this really quickly, tell you what it is.
It's a good time to take a break then yeah, yeah, we'll be right back after these very important messages. And uh, of course, as a reminder, if you don't want to hear these ads mid break or pre impost, you can become a patron for five bucks a month. Go to Patreon dot dot netroocks dot com and you'll get an ad free RSS feed for the podcast. All right, we'll be right back. Did you know there's a dot net on aws community. Follow the social media blogs, YouTube influencers
and open source projects and add your own voice. Get plugged into the dot net on aws community at aws dot Amazon dot com, slash dot net and we're back. It's dot NetRocks I'm Carl Franklin. That's my friend Richard Hey, Richard Campbell, and as our good friend Rob Connery. Hello, And he was about to look up some mail server web thing that you use.
Yeah, it's it's called mail pit. I found it, thankfully. It's called mail pit. You can actually install this as a doctor container and it just runs and you have an API and you send mail off to it, and it looks like it's a go binary. I just used Docker to run this thing and put it on a port and just said okay, I'm sending email to you. And there they were.
So who did you actually send these twenty five thousand emails too?
It was like one test at test dot com, two test at test dot com. So it you tell it what domains to accept and what's to reject, and so it's a full testing application that you can use and tune as you need.
Oh so they weren't real people.
They are real emails, but not real people endpoints. No, it just goes to this application.
But you could you could if you wanted to take a mail client, a pop three client or whatever imap and go retrieve them right.
Well, so when you run this, it gives you a webinar face that looks like Gmail or something like that, so you can actually see the male landing coming in. I like that. It's great.
Two and a half seconds later, then you go back and you go and look and you look like you've got a huge spew of you.
To be kidding me. It's just one of those moments where you is there a delete a whole button? You know, It's like the moments that when you're when you love being a programmer, when you love being a jump out of your chair and you're like, oh my god, and you know, someone runs in the room like okay, like you know, you wouldn't believe it, and you start to explain it and they're like, well, that's great for you, man.
I'm really glad you're happy you see me exact Yeah, Richard, you've got to tell the SMS story again for those Oh no, this is a great one.
That was a but that's this is in the nineties, right, This is the Nokia Candy Bar phone era, and the local telco opened up an API, they didn't call it that back then. It so that we could send a text message. So I wrote a little tool from monitoring the set of service that were responsible for to send me a text message if they went down oddly enough,
it had a bug. And this is back when a text message is literally a prompt on your phone and you had to hit your little buttons on the l and not on the screen, but it actually buttons to retrieve the text message, and it would show you the text message. So I, oh, there is delete and it goes text message. Go open it up delete. How many are they? So after doing a few, I go and look at the code, I'm like, oh, no, there are
thirty two, seven hundred and sixty seven of these. Oh, and I have to delete them one at a time.
Which just happens to be the upper range of short.
Yeah. Yeah, everybody knows what number this is is due to the fifteenth right. So I go call the text support for that gateway I think it was called at the time, and the Tier one guy has no idea what I'm saying, right, and so, but I confuse him enough that he goes, let me pass you up, and
he passes me the Tier two guy. And I start trying to explain this to the Tier two guy for a bit and he's like, I don't know, but you know it takes a little while because he's supposed to will solve this that he does know what to do. Finally he passes me to tier three, and now I'm like in the knock and in the phone rings and it's like so so I was like, Hi, my name's Ridge Campbell, and I give the phone number.
He goes, oh, it's you. They were all looking at this explosion. We've been waiting for your cab. It's like, okay, I'm going to lead these on the other end. You're gonna have to delete the one that's already got your phone and then don't do that again.
I did dumb things like that too when I was, you know, just starting.
Out before the era of rate limitters, right, like there should have been a rate limit on that.
I remember. I was trying to do like remote execution of code. And this wasn't for hacking or anything. This was just to see if I could do it in VB And I called up my friend and I said, hey, run this little app and just leave it there. He goes, Okay, what it was supposed to do is like pull up nopad, but I didn't. Actually, when it got the signal, it pulled up nopad and then kept going through the loop and pulling up no pad and he's.
Sc filled with thousands of note pads. He's like, what did you do? I said, I was sorry, man, I do know how to stop it.
It's like VB six or something.
I might have told you this before, but this is back in nineteen ninety eight and I was using visual Interdev and I was trying to explain what server extensions were, you know, on anti server. And we had a new guy join us at this consultancy, and I said, yeah, you can lock onto any site, like, look if I have a domain. And I just happened to be looking at Vertigo's website, which is where Jeff Atwood used to work a long, long time ago and anyway says before
his time. But I said, look, what if we could
lock onto their site? And sure enough I was able to open up vertigo dot com in visual Interdev and I said, we'll hold on a second now, and I went and I just kind of I edited their homepage and I forgot what it said, but I just changed a few words and I'm like, uh, and I'm looking at the guy at the new high I'm like, Okay, I didn't mean to do that in the phone ring and it was Scott Stanfield, right, I think it was Scott Stanfield as somebody and they're like, what are you
doing on our website? Like, I'm sorry, I didn't do I'm.
Sorry, sir, I shouldn't be able to do this.
Yeah, just some small configuration issue that they missed.
So now they have the Secure Future initiative because they're still having those problems are just still a bit more complicated. Yeah, it's funny how often you end up poking under the hood a little bit on that sort of stuff and going, oh, you know, the underbelly is soft and squishy, right. Yeah.
So there was a story that we did in security this week. This was episode one sixty seven. It was about a dot net exploit. It was let me look at it. I think it was this devious new malware technique looks to hijack Windows itself to avoid detection and I'll publish a link to it. But yeah, there was. It was something in the dot net framework.
I don't think when sixty seven is published yet, but it will be by the time this shows out.
Yeah.
No, no, it's not published yet, but it will be by this time. In report published on the Akami blog earlier this week, it was said that starting with Windows XP, the os introduced a feature called UI Automation as part of the dot Net Framework, and this feature is designed to provide programmatic access to user interface elements, enabling assistive tech technologies like screen readers to interact with applications and
help users with disabilities. It also supports automated testing scenarios by allowing developers to manipulate and retrieve information from UI components programmatically. And since we started security this week, this is the first thing that involved the dot Net framework at all. So it's just part of Windows. You can turn it off, but I think it's on by default, which is bad. So it's a way to abuse accessibility
features on Windows to hide malware. It slips below the radar and I don't know that there's a patch for it.
Well, and it's been around for twenty years or that vulnerability has obviously, Yeah, part of XP. It's a long time.
Yeah, So what else is interesting in your life these days? Rob?
You know, it's it's funny. We are we are full guns right now on the co pilot free stuff, and it's funny. We we have been you know, not going to too many conferences, but now we're able to kind of travel a little bit more these days. So I'm going to NDC London.
Yay, me too. Yeah.
We had NDC London this year, which will be fun. And I'm doing all like I do videos, I do you two a month on the VSCO YouTube channel, So I got a couple of those coming out, which would be fun. And I'm really enjoying doing that.
I mean, and I presume that everybody's listing here knows that. In December, and we basically announced that inside of all editors, not just visuals Studio Code, but all editors get hub Copilot is free.
Yeah, and that was a huge when they said it. Internally, it was just like, oh my god, this is great. I was so excited. I was so so happy about it, you know, just because we did a live stream with Jason Langsdorff and he brought up the point that, you know, there's people out there that could really really benefit from co pilot, but ten dollars a month outside the you know, North America US is really expensive. I mean even in Canada. You guys are you know hard up up there.
That's like a it's not half a gallon of Yeah.
Anyway, this really helps people. And of course, you know, and I just have to make it clear, I don't speak for Microsoft. This is just me speaking right now, so don't get in trouble. But you know, there's a lot of people who you know, have pushed back, and I think that's fine. I think one of the main points that that I really react to is when people say, oh, Copilot, you know, is going to help junior devs write you know, really bad code and so great, now you're enabling that.
And you know, I was, I was thinking about this yesterday. I'm like, where is this fear of junior developers coming from? You know, everyone's afraid for them. They're afraid for them, and they're afraid of them.
It's like like like they weren't already writing bad code in the first place, Like come.
On, you know, you know the compiler will whack them back into reality, and.
So well, how do you expect them to get better? And it's ready to put that out there. And the thing about it is what code reviews are, that's right.
And I was just about to say that, you know, one of the features that that Copilot has now is the ability to do a code review.
Before you push and you're applying here, the opposite may be true that their code will actually get better.
Yeah, that's right, it gets It's so I did a code review because we're doing some internal project that was going along with a demo. Doesn't really matter, but I did a code review before I pushed it. And I was like, oh my goodness, I completely forgot about this. You know, it was like some internal security thing that we had to make sure that you know, was not set. And we also made sure we had to have accessibility and other settings. And I'm like, oh my goodness, I
totally forgot. So the reason why I think that's huge is for managers out there and the senior people that have to do the code reviews, this is one less cycle for you, and you shorten these review periods. And I think it's I don't know, I think a top to bottom is great. And for the other thing, I've told my friends too that a lot of them, I mean some of them are really vocal with me, like do not like Copilot at all? And yeah, and I said, well,
you know, just think of it this way. It's shortening the loop from Google to stack overflowed from copy paste. It's just shortening that loop. There's nothing else happening here.
And I mean I also you can debate the quality of the coded fish fetches. I've had good experiences, I had bad experience and so forth. You can't debate it writes a better pullar re quest than you do every time by a mile, appropriately Like it's its ability to actually have a record of everything you changed and write a decent summary of it. You would never go to its legness. You know that that's just a now I'm
not optional, Like you can see the difference. I see it in a set of developers working where you can see who's using is gotten familiar with get hub copilot enough that they're right in their pr summaries with the tool because they're great.
Well, that's you know, the talk I'm going to give it. NDC is going to be exactly this. I don't quite know how many, probably five demos in there, but let's call it five. You know, five ways it'll actually improve your day, you know, or make your make your life a little happier, like actual hands on stuff. And you know everyone's got their copilot demo. But it's kind of funny, like what are what are the people in the trenches that are writing code every day? What do they use
it for? How are they using it?
In the summarizer and the right like exactly what you said with the code review, it's like, oh, I forgot right. The tools reliable at going through the checklist and valid yep, that's right.
Yep. And change log too. A lot of people demand a changelog, and you can make a change log. You get commits, which is pretty fun. Yeah.
Yeah, and then notice all the things we're the most excited about are not the find this code part right, Like, so it also has some capability of parsing code, like what does this code do?
You know?
Not to steal carls under here, but the whole this is a link expression, show me in loops. This is a set of loops, show me as a linking expression. All of that is pretty slight. Yeah, I think it's pretty neat. Yeah.
I use that exploding link thing to write comments for people who don't understand link that might be looking at the code and trying to figure out what it does.
It's such a great idea, right to have it exploded out as a loop and then make that a block comment and then make it back into links.
This is what this Actually, it's pretty neat because you don't know. I remember the pushback against link way back in the day showing you hold him because people didn't know is going under the covers, and you know, what's what's the big go on this? I don't know who cares. The people at Microsoft are probably smarter than you. But
that was the feeling back then. I'm not trying to say that declaratively, but that was a feeling back then, is you could have faith and anders you know, you could have faith in these people.
No, you do it all the time when you call a cryptographic library or you know, any of these things like I'm sorry you don't trust APIs do you know what you do for a living? That's right, that's right, you know, And if I mean, this show has done the debate about rms as they emerge, you know, and ascended,
descended and so forth. But you know, I think the case is pretty clear now that for eighty percent of the cases in most applications, what the RM spout out is efficient, and these days there are good enough ways to deal with the other twenty without having to abandon an RM.
That's right. And you know, if anybody out there is my history, you know how much I have one hate or MS and two have always decided to make my own, which is a weird kind of split brain kind of deal.
Yeah, no, it's it's sound kind of crazy. Next you'll be writing your own garbage collector you know, little nuts. But I think in the last two years I was telling again Erin and I worked together very well that I've finally just let go my ORM problem and just now I'm using them all the time.
And how I learned to stop working trust the R you know, the big trust, the Trust Entity framework.
The big thing for me has been that I need to have sequel light support for testing for actions, because just you you could have a postcrist container spin up to run your test, but that just delays things a little bit too long, whereas we just do sequal light in memory and boom it'll run.
And do you use dapper d A.
P P E R. That's what I used for the male thing I was telling you about. I used Dapper.
I like it because it's essentially ado dot net without having to write lots of code to handle parameters and so good. It just does it.
Yeah, Sam, Sam, I think is Sam Saffron that that created that? Right?
Yeah, that's right.
Yeah, you know a funny story behind that. I think did we do Oh no, we did a handsle minutes on that. I don't think we talked to you guys. But back when, so Jeff Atwood when he made stack overflow used linked to seql and yah, everyone loved. Link
to seql is awesome. But it started as the site grew, it started to slow down a bit, and so they were looking at alternatives and one of the ones they looked at was one that I made called Massive, which was dubbed a micro orm, and so it didn't quite fit what they needed because they needed some perft weeks. And so Sam went in there and kind of took some inspiration and went off and did his own thing, made it fast as heck, and that's where that's where dapper started.
And dapper contrib is another project that works with Dapper that gives you all of the crud things already done, you know, all the extensions to the to the sequel connection, insert update.
Delete, different and totally different from da PR, which is also pronounced daffern is an Azure tool. Don't mix these up. You'll be sad. Making sure I grab all these links for Dapper and African tradees that folks can take. If you haven't taken these out for a spin, you need to look at them. But I bring up the ORM story because I think Copilot's in the place that ORMs. We're back in the day where some folks are having success,
some folks are not. There are concerns. The product is in motion and it's too early to draw hard lines because you don't know yet. Don't you don't expect to do everything right. It won't you know, find the value where the value is and expected to change. I noticed there are limits on the free platform, like there is a reason to buy the pro plan. You're allowed two thousand co completions a month, which is you know, and
they worked out as eighty per working day. But you're figuring out five week like you're gonna be okay, it'll be fine.
Yeah, you know, it's funny in the blog post. Are you reading Brooks blog post? Yes? Yeah, I helped him write that, and it's funny. I I that's one of my contributions. I said, you know, maybe break it down by day so people could see eighty by day. And I just kind of I didn't do the exact math on that because you know, how do you know how long a day is and people been working?
But anyway, yeah, we're talking about software days. This is a relative ist determent the best of.
Times, that's right. So I just picked a number, I said, eighty.
Nice. Well he's like, yeah, how many weeks off do you presume you work a five day day a week, and how many weeks do you get off? Like, you can play with that number for a while, right, it might be forty eight or fifty, you know, fifty's about right.
Yeah.
Well, I think unless you have anything else you want to talk about, I think we're bout done here. No. Oh, I did want to mention you mentioned you're going to be at NDC. I just got word that I was accepted as a speaker for dev some in June June twelfth and thirteenth, and Blazer talked there on Gotcha's and also a workshop no Fun. So maybe i'll see you there.
I guess I'm going to and we'll record some shows in person, which we haven't done.
In a lot, and we have that. Yeah, that would be great.
Is that Tibby's conference?
Yeah, yes, yeah.
I got accepted to speak there a couple of years ago and I couldn't. I had to back out, and so he invited me the next year. He said, we really want you to come and do this talk, and so it'd be fun to go. I really would love to. I've met him once. We had dinner with Key Scott Allen of all people, one of the MVP summits, and it was he was just a wonderful person.
So yeah, Tibby's good fun and he's there's a reason he's a conference organizer type because he gets you know, he's also been a speaker and so forth, so he does understand that that sort of thing. Knows other people do. So yeah, I know I'm already committed to dev some just double check.
And June is a great time to be in Stockholm as opposed to January or February.
February going to be there in February two because you know, I'm an idiot.
Stockholm's amusing city.
I love it.
I love Stockholm. So I'll see that. And Richard, do you have anything to announce in terms of dates for dev intersection.
No, we're working hard to trying to figure out what exactly what we're going to do in twenty twenty five, but there are many forces at work, so to speak. So okay, the moment i'd be allowed to say, I will say, okay, cool, we're not quite there yet. So for better or worse, it's an interesting time, and you know, we're having a good time sure for better or worse. Besides all the conferences you all know I go to,
we are also involved in like the Fabric conference. So right now the Fabric Conference is absorbing a lot of energy because data analytics is big man, Like, it's really been crazy. So that's at the end of March and we're expending eight thousand people, Like, wow, it's it's a big What what Microsoft's figured out with Fabric is really doing analyt It's in the cloud, so don't have to move your data around. It's all connector driven. There's a
lot of smart caching going on. The mL tools are just integrated, so it's you know, your analysis is a lot simpler, Like it's insanely powerful stuff. And now they've added in streaming components for real time intelligence, like it's just getting richer and richer, and so people just descend on this. This show we did, the one we did in the spring in twenty twenty four was sold out
at over four thousand people. So we've got the double venue now like it's all one space, but it's huge to be able to live to go up to eight thousand, so and we expected this all very cool.
All right, guys, that's it, Rob. Thanks, it's been great. It's always great talking.
Yeah, you too.
It's good to see you guys again.
Thank you here, Thanks Ben, and we'll talk to you next time on dot that rocks. Dot net Rocks is brought to you by Franklin's Net and produced by Pop Studios, a full service audio, video and post production facility located physically in New London, Connecticut, and of course in the cloud online at pwop dot com. Visit our website at d O T N E T R O c k S dot com for RSS feeds, downloads, mobile apps, comments, and access to the full archives going back to show
number one, recorded in September two thousand and two. And make sure you check out our sponsors. They keep us in business. Now go write some code, see you next time.
You got Javans
And the
