The Secret Sauce

Brendan Burns discusses how AI has changed his development approach, making it easier to find solutions to problems and generate documentation for personal projects. He shares examples of using GitHub Copilot to learn Rust and generate Terraform code from Azure infrastructure. Bdougie comments on how AI can help open source projects by improving documentation and compatibility. Burns also mentions his recent work on the Robot Operating System (ROS) for a personal robotics project.
ā˜… Support this podcast ā˜…

What is The Secret Sauce?

Come join us as we discuss everything open source with guests that are pillars in the industry. Welcome to The Secret Sauce.

Bdougie:

Everyone, welcome back to the show. We're about to work the secret sauce with Brendan Byrne once again. And, we're here at Microsoft Build TO Go. Yeah.

Brendan Burns:

So, yeah. It's like annual It's a tradition at display, right? 2 in a row.

Bdougie:

So you've got a lot of stuff that I want to update the viewers, listeners with. A lot of stuff in Azure. Yeah. Yeah. For sure.

Bdougie:

So you're remind us what your role is.

Brendan Burns:

Sure. Yeah. So I'm I'm the corporate vice president. It's management platforms in Azure. And that basically means Linux on Azure, Kubernetes on Azure, but then a lot of our control plane APIs for managing all your resources, so policy enforcement, governance of large scale stuff, querying and inventory of all your stuff.

Brendan Burns:

Like, think of it like CMDB 2.0. And then, all the tools, like the Azure portal, the Azure CLI, PowerShell, Terraform, all the tools you might use to interact with Azure, those are all, those are all in my my teams as well. So, yeah, kinda DevOps y and and modern open source on Azure.

Bdougie:

Yeah. Excellent. And, but you're, corporate vice president with Azure. You've got your background Yep. Kubernetes.

Bdougie:

Yep. So lots of containers happening. Lot of containers now. Which is how you can get all this working. We actually did a blog post recently about how we shipped our AI feature.

Bdougie:

Okay. So Open Sauced, which you're familiar, we do insights to open source projects. We started adding AI to it because, like, once you start really doing summaries on PR titles and descriptions, it's kind of like it's a we're using mixed roles. So, like, at build actually, from both keynotes talked a lot about phy Yeah. And, like, these small

Brendan Burns:

SMS. Small language problems.

Bdougie:

Yeah. And I'm like, we're doing exactly what Satya is saying. That's cool. And, because I don't I don't read a lot of blog posts.

Brendan Burns:

Sure. That's cool.

Bdougie:

I'm just, like, catching up on this AI stuff. But, yeah, small model. Do a thing that does like, works really well. Yeah. So, like, you know about pull request.

Bdougie:

You know about the stuff that doesn't matter in the pull request. So who cares about the code of conduct? Just kidding. Care about the code of conduct, the CLA, but, like, you don't need to summarize that.

Brendan Burns:

Yeah, yeah, yeah.

Bdougie:

What we don't want to summarize is, like, what's the actual, what's the value within the CR? So we started doing that. And now we have this thing called Star Search. So we ship it tomorrow. And, we had partnership with, Microsoft Co Innovation Lab, AI Co Innovation Lab to ship this feature, which then you could say, I need Rust developers that within this ecosystem.

Bdougie:

Or, hey, I'm already using Flaravel. Like, how do I inject these type of stuff inside of my project? So that's what StarSearch is. But I mentioned that because we got exposed to things like all this Azure stuff that's, like, now powering some really cool stuff. And I sat in a talk, with BMW and yourself talking about how they're using AI and how they're, like, innovating, like, doing deployments across the cloud.

Bdougie:

So can you explain that real quick? Yeah.

Brendan Burns:

I mean, it was pretty cool. To, one of the great things about being at a conference like this is you get a chance to meet some of your customers, who are who are relying on you. And one of those customers is BMW who, builds their my BMW mobile app and my Mini. And, apparently, if you're into that sort of thing, the Rolls Royce app too, you know, I that's I I'm kidding. I don't have any.

Brendan Burns:

No Rolls Royce. Microsoft is nice. I know. Right? So they build but they build those mobile apps and the back ends for those mobile apps, for on on top of Azure and top of Azure Kubernetes service.

Brendan Burns:

They were talking about how they've built a DevOps platform because it turns out, you know, most developers, they wanna write code. They don't necessarily wanna deal with containers and whatnot. And, so, you know, they do a get all get ops based push code in, container image pops out, push a config change, deploy to the AKS cluster. And so they're doing all that on top of Azure, and then what what was really cool that they were talking about was, as electric vehicles come on more and more, there's more and more capabilities. Turns out, you were driving an electric vehicle.

Brendan Burns:

You suddenly worry about where can I charge it? You know? And, then also, you know, what is the current charge state in my radio? So they they're they're increasingly seeing more and more scale into these apps, more and more functionality into these apps, and and they're scaling seamlessly on top of the the Kubernetes service to do it. So, it's been pretty it's been it's it's neat.

Brendan Burns:

It's a pretty good example of of mission criticality. I was saying, you know, if that doesn't work, like, people don't find out about their cars. Can't you know, the the car still drives, but but, you know, they may not know if it's ready to drive, charged, or whatever. Yeah.

Bdougie:

Great journey and story. And this is, like, 10 years ago, it seemed like everything was Kubernetes. Like, let's turn this on. Like, we could distribute cloud. Everyone's got their own cloud.

Bdougie:

We all do, like, specialized clouds to do stuff.

Brendan Burns:

And Yeah.

Bdougie:

I think it really unlocked a lot for the industry.

Brendan Burns:

Yeah.

Bdougie:

But now it's AI.

Brendan Burns:

Oh, yeah. Yeah, yeah, yeah. We're not the cool kids anymore. Yeah.

Bdougie:

Yeah. So, like, now but the

Brendan Burns:

I I don't wanna say you're not the I'm not the cool kid anymore. You know? Yeah. Yeah. Well, you are the corporate vice president.

Brendan Burns:

Exactly. Right. I used to be a distinguished engineer. Now I'm a corporate vice president. Like, it's a downgrade, I think.

Bdougie:

Yeah. We we all have to basically, what, bend the knee at this point.

Brendan Burns:

Yeah. Yeah.

Bdougie:

Yeah. But, yeah. So, like, what does that unlock, though, like, being able to have, like, these small models in containers to run inside of my my BMW or I do, like Yeah. Well, I

Brendan Burns:

I don't know if you saw the the Surface, announcements, the new Windows AI, PCs that that we have with has that.

Bdougie:

I I saw the the I read the blog post.

Brendan Burns:

I don't

Bdougie:

think I saw the I don't watch the video. Yeah.

Brendan Burns:

Yeah. Yeah. So so, I mean, I think the the key thing there is they're shipping with a pretty powerful, machine learning AI chip in the laptop. Right? So it's main processor, but also an AI chip with it.

Brendan Burns:

But even as powerful as that chip is, it's not big enough to run, a large language model. Those things, even on, you know, high end graphics hardware or, AI hardware, have to be distributed across multiple machines and things like that. So these small language models are really important for getting stuff out to the edge, getting stuff into situations maybe where you don't have connectivity to cloud, or maybe you're worried about, you know, the data you have data sovereignty guidelines that you have to stick with or privacy guidelines that you have to stick with. So all the in all of those situations, these small language models are turning out to be, you know, hitting a price performance and size point that is really useful for a number of scenarios. Because I think that's the other thing that you realize is that the large language models are really fantastic, but they can you know, from certain circumstances, the they're just too expensive.

Brendan Burns:

Yeah. And so having a having multiple points on that sort of price performance curve allows people to to make better decisions. Like, I I say, like, you know, if you come up and you ask a question, like, you know, what time is the sun gonna set today? Like, throwing that through a large model probably doesn't make sense. Yeah.

Brendan Burns:

Right? Like, you can figure that answer to that. Like, you don't need a lot of fancy AI to give a pretty good answer to that question. And so having different points on the price performance curve allows people to kinda pick and choose, use the more intense stuff when it's necessary, summarizing pull you know, lots of pull requests or whatever.

Bdougie:

Yeah.

Brendan Burns:

And then using easier, cheaper, more performant, algorithms when, we don't need that. You know? So

Bdougie:

Yeah. It it's like the specialization. So, like, we had full stack developers. And, like, even before that, you had engineers, developers.

Brendan Burns:

Sure. And then

Bdougie:

we had full stack, which is like, oh, I can get something to production.

Brendan Burns:

Yeah. Yeah.

Bdougie:

Yeah. But then, like, we had full stack drift a little bit. So, like, if you know Kubernetes and you can also manipulate CSS, are you full stack at that point?

Brendan Burns:

Yeah. No one knows CSS. I mean, I don't know. I don't know CSS. I mean, I I would go to our designers and be just be like, how and they'd be like, have you read the rule book?

Brendan Burns:

Yeah. Dust off this thing, and they're like, it says right here. And I was like, alright.

Bdougie:

It it it's only got worse because CSS is evolving faster now

Brendan Burns:

because now we have,

Bdougie:

like we have to buy in from the Chrome team and everyone else is like, actually, this would be great. So they have, like, Grid and all that stuff. But, I guess the point I was making is, like, you don't know CSS or you don't know Kubernetes. Like, you kind of fit in the middle or you only get on one side of the stack. Now we're unlocking an ability that you don't have to know everything if you have AI.

Brendan Burns:

So like the Yeah.

Bdougie:

You mentioned CSS. Like, I just fixed some CSS bugs last weekend.

Brendan Burns:

I got

Bdougie:

on my landing page.

Brendan Burns:

Nice.

Bdougie:

And I'm like, I built the website. So I know kind of what's wrong and where it is. But I pulled up Copilot Workspaces

Brendan Burns:

Yeah, yeah.

Bdougie:

Because I got access a couple weeks ago. And I'm like, oh, this is perfect. Like, I have an issue. Someone reported Right. Open source.

Bdougie:

And then I'm like, oh, it's because of this. Like, I know what's wrong. It's this. Let me hit this open in the Copilot workspaces. And let me just have, like, a plan work.

Bdougie:

And it's a novel idea. And it's a low enough lift for them to fix some CSS it to fix some CSS. And it did. Yeah.

Brendan Burns:

That's cool.

Bdougie:

And it was also like a one shot thing too. Oh, yeah, yeah. This is this. Looks good. Open the PR.

Bdougie:

Actually, it was 2 shot because I have Tailwind on my front end. Okay. And different type of CSS. It's class based. So then I was like, oh, well, actually, do Tailwind.

Bdougie:

Like, great answer. It works. Do Tailwind instead. No style tags.

Brendan Burns:

Right.

Bdougie:

So it's like, cool. Let's redo the tailwind. Cool. Open the PR. PR is open.

Bdougie:

And before I could tell my team, like, hey, I'm just testing out Copilot Workspaces. Paces. Like, I don't know what's going I don't know if it's a good PR or whatnot. But it wrote my PR description. It was like this, this, and this.

Bdougie:

Here are my commits. Here's the approach. This was the plan. Here's the test plan. And then literally 2 people approved it before I could be like, hey, I'm just testing Copilot Workspaces.

Bdougie:

But that's the moment. I'm like, oh, I don't need to cut CSS. Or the landing page has been abandoned by existence because I built it 2 years ago as, like, let's get something out there. There. But then I got to update dependencies.

Bdougie:

Like, we got a CMS attached that I have to, like, train people on how it works and how do you connect it. And now I'm just, like, Copilot, Copilot chat. Like, here's a small model to, like, do a bunch of prompts into there and, like, be successful.

Brendan Burns:

That's awesome. That's awesome. Yeah. No. I think it's really great to to, to be able to have that, and I think of it because I think early on when some of the stuff was coming around, people were there I certainly sensed a little bit of worry from some developers of, like, you know, they're coming to take my job or, like, you you know, and I think I for me, I've always, like, you know, it's really just a fancy tab complete.

Brendan Burns:

Yeah. Like, you know, you wouldn't you wouldn't like, before there was tab completes, like, yeah, you got to type some more characters, but, like, that wasn't your you know, that wasn't the job security. Right? And I think it's the same sort of thing. Like, the ability you knew how to fix it, so you know it's the right thing.

Brendan Burns:

But the ability to just press a button, get it all done,

Bdougie:

like, it's nice. Right? Yeah.

Brendan Burns:

You can move on move on from that. I taught myself I use GitHub Copilot chat, actually, when I was teaching myself Rust. Because, like, you get these compiler errors from because the Rust compiler is, like, very finicky. Because it's being all super careful about your memory usage. Error message.

Brendan Burns:

You'd be like, okay. I understand what you're trying to say, compiler. I understand the problem that you have with my code, but I don't know the idiom for fixing it. Right? Like, I I I'm sure there's a special incantation that I can do that can show you that this is safe and or a different way of touching the variables that'll show you that it's safe, because I know that it's safe empirically, but I just don't know the right rust idiom.

Brendan Burns:

And you just put it into Copilot tab. You're like, how do I fix this compiler error? And it would just come back and be like, okay. Here you go. This is what you need to do.

Brendan Burns:

Right? So it's like perfect sort of tutorial companion pair program that

Bdougie:

that Almost the compiler really leans into, having a copilot because you have some strict rules.

Brendan Burns:

Yeah. And

Bdougie:

it's like it's a true or false is it compiler does not compile.

Brendan Burns:

Yeah. Yeah. Yeah.

Bdougie:

What's the error message?

Brendan Burns:

Yeah. Yeah.

Bdougie:

Yeah. So I did Rust 10 years ago, like, Rust 1.0.

Brendan Burns:

Sure.

Bdougie:

So a long time ago. Haven't touched it since. I have ideas of what I would use it for. But, yeah, I could see myself building a quick little Rust POC based on Copilot chat. Yeah, yeah.

Bdougie:

It's a great use case. And I think the thing I was thinking through is, like, the tap completion. Like, junior engineers will tap complete and be like, yeah, this is good enough. Yeah. But there'll be, like, bugs everywhere.

Brendan Burns:

Yeah. Yeah.

Bdougie:

Yeah. You just trust it too much. Yeah. Yeah. Yeah.

Bdougie:

It's true. Mid level senior would be like, this kinda looks off. Let me, like this should be tailwind. Let's go fix this here, or this should be like this. I've seen this before.

Brendan Burns:

Yeah.

Bdougie:

So, like and then you get, like, staff distinguished. Like, they know they could write it themselves, but they also can write

Brendan Burns:

a

Bdougie:

plan Yeah. Create, like, an architecture design, which, like, once you get to that level, you're like, oh, yeah. Actually, I could build out this algorithm, and what we'll do is whiteboard it

Brendan Burns:

Yeah.

Bdougie:

And then use some some vision, like maybe a small PHY model to get a vision of it. Like, oh, yeah. Let's put this together. Like, here's your gamble. Yeah.

Bdougie:

Yeah. So I wanted to talk about Azure AI. Yeah. Because, like, this can you explain, like, this evolution now? Because, like, we have GitHub Copilot.

Bdougie:

That makes a lot of sense. Right. Can you explain, like, now Azure's approach in the AI now? Sure.

Brendan Burns:

I mean, I think you at the at the foremost level, we are the infrastructure on which a lot of these models are trained, and a lot of the models are are being run for inference. Right? So starting there, we've built the supercomputers that OpenAI uses. It's obviously it's run they run Kubernetes on top of that supercomputer in Azure to to do the training that they do. And then when it you know, when it comes time to do inference, whether it's through the Azure OpenAI APIs or through their own chat GPT APIs, that's also running on AKS, in Azure.

Brendan Burns:

So we've built out a lot of the infrastructure, that helps power all of this this API usage. And then, of course, we're actually using it ourselves. So we are, building the Azure Copilot into the Azure portal, and that allows you to get insights about your own infrastructure. There's a whole bunch of different handlers that know, you know, maybe you're asking a question about cost management, or maybe you're asking a question about SQL, or maybe you're asking a question about AKS. And it's gonna,

Bdougie:

you know, use a different, model and

Brendan Burns:

a different approach, different fine tuning to to give you good answers. And and different, we do a lot of retrieval augmented generation, where you search across a corpus, feed that into the model too. So right now, you know, with that service, you can go up if you wanna say, like, hey, can I pull this, container image into this cluster? Yeah. You can just ask that question and it'll actually say, okay.

Brendan Burns:

Well, the way we find this out is we deploy this container into your cluster and it will tell you if it you can or you can't. And it says, you know, can I do this? Because one of the important things we don't do things on behalf of people. We ask your permission first. Right?

Brendan Burns:

Before you have to confirm everything that you're gonna do. Yeah. Even when you're gonna take an action in Azure, create something, delete something, modify something. Like, we wanna make sure you're

Bdougie:

Yeah.

Brendan Burns:

You know, you're on board with that. Like, Copilot wrote your PR, but some human merged it. Right? Yeah. So we, you know, we do that, to help people in a more natural way learn how to debug and to use, all sorts of different Azure services.

Brendan Burns:

And then more recently, actually, you know, that was just demoed today at Build was the, GitHub Copilot for Azure, which actually allows you to go from Versus Code and the sort of the GitHub chat Copilot experience and then start using Azure and to ask about Azure resources. So you could say, like, you know, maybe you're typing your code and you wanna connect to a database and you don't necessarily you don't remember what the name of the database is. You can now say to GitHub Copilot, hey. Like, what's the name of my SQL Server database? Right?

Brendan Burns:

And it will just give you the host name of the SQL Server database. You can cut and paste it into your, configuration, and go from there. Or you can, you know, ask whatever kind of question you want want of the GitHub Copilot, find out what the infrastructure, ask it to create GitHub actions that will create a deployment pipeline to deploy your application. So it'll say, okay. Here, I see, you know, that you're a Python Flask application.

Brendan Burns:

Here's a Docker file to containerize it. Here's the GitHub action to build as a container image and push it to the container registry. And here's the GitHub action that deploys it to the Azure Kubernetes service. And then, basically, again, opens a PR for you, and sets you up ready sets you up ready to go there. So I think we're starting to see that, you know, connection between the copilots.

Brendan Burns:

Because I think one of the things everybody's very clear about is they don't want 15 different copilots. Right? You don't wanna be, like, okay. Like, which Swiss army like, you want one that that has a comprehensive understanding of Yeah. Everything that you're, you know, everything that you're doing.

Bdougie:

Yeah. This makes extensions make a ton of sense Yeah. At this point because that'll get announced on on, day 1 of the keynotes. Yeah.

Brendan Burns:

Yeah. Exactly.

Bdougie:

And, yeah, I wanna bring in Pulumi, or I wanna bring in another tool that already knows that part of my stack. Yeah. Yeah. But this is like so I worked at GitHub for almost 5 years. And I remember I worked in the DevRel team, so we didn't deploy a lot of stuff Right.

Bdougie:

As DevRel people.

Brendan Burns:

Sure. Sure.

Bdougie:

But we had stuff like the star site. Yeah. Stars. Github.com, like, needed to get deployed onto GitHub's cloud, which is powered by Kubernetes.

Brendan Burns:

Right.

Bdougie:

Which means that I had to go remember what I did, like, 6 months ago.

Brendan Burns:

Oh, yeah. Yeah.

Bdougie:

Yeah. So then I'm like, hey, engineer. Hey, friend. Right. It's me, your friendly developer advocate.

Brendan Burns:

Right.

Bdougie:

I need to pair with you on some DevOps stuff. Right. And that's literally how I got stuff deployed. It's like, I can't remember.

Brendan Burns:

Yeah. Yeah. I gotta look at commits. Change too. Right?

Bdougie:

It would change all the time. Yeah. And, like, as the DevRel team, we don't get updated by engineering updates. They're like, oh, by the way, we rename stuff, or we move this over here.

Brendan Burns:

Yeah. Yeah.

Bdougie:

And now you had to do this other security jump through the hoop thing, which is, like, fair enough. Like, continue to proceed, like, security and, like, engineers will be educated on how this all works. But we're always outside the purview. Yeah. But if I can go in there and, like, talk to the Copilot and be like, hey, time to deploy.

Bdougie:

Right. Tell me what happened in the last 6 months that I should

Brendan Burns:

know about.

Bdougie:

Yeah. Yeah. Like, what changed in the docs? Like, what Wiki pages got updated? Yeah.

Bdougie:

Cool. I'm going to quickly skim all the updates, and I'm good to go. Yeah. Can I deploy? Yeah.

Bdougie:

Which asked me that question. Can I deploy?

Brendan Burns:

Can I deploy based on this? Yeah. Well, I'll

Bdougie:

get a will I get an error message or what will happen? Yeah. And a lot of times, like, not great, but, like, because I'm not a DevOps professional, sometimes shipping the production or shipping the staging is how I test.

Brendan Burns:

Sure. Sure. Sure.

Bdougie:

Because I just don't have the, the the bandwidth. But now I could be just as dangerous because I know enough to be dangerous. Like, I know how to read documentation and get to what I need. But a lot of times Yeah. Things are documented.

Bdougie:

Yeah.

Brendan Burns:

I mean, and actually along those lines, one of the things that we that we're really excited that we just shipped in the Azure Copilot is the ability to, generate Terraform from your Azure infrastructure. Because I a lot of times what we see is people come in into the web portal getting started, you know, building whatever you manually click click click click click click click click click click click click click you have something running. Right? And then eventually, they're like, ah, you know, I really should IAC this thing. Like, I really should do infrastructure as code.

Brendan Burns:

But how do I get started? What's the right way to do it? I don't necessarily have the time to learn. I know what I want to do, which is have the infrastructure as code so I have reliable deployments. But I don't want to necessarily spend all the time to figure out what's all the right Terraform for all the different stuff that I have.

Brendan Burns:

Right? And so now using, these large language models, you can actually go in and generate based you can say, given the infrastructure that I've already deployed in Azure, can you give me a Terraform, module that will deploy it for me? Right? And it'll give

Bdougie:

you that, and then you can use that as a

Brendan Burns:

jump start to, to to start using infrastructure as code instead of using Yeah. The the UI, which obviously we don't want people to do click ops. Right?

Bdougie:

Yeah. Yeah. So you've mentioned a few things, so far. But how is at sorry. I was gonna say how has Azure changed your your life?

Bdougie:

Right. Yeah. This changed your life. But how has AI changed the way you approach development?

Brendan Burns:

I mean, I think that the Rust example is probably the the best one, and it's it's gone beyond that. Right? Yeah. I think used to be when you ran into a problem, you would sort of try and figure out, like, what's the most unique string? String?

Brendan Burns:

At least for me, I would always be like, what's the most unique string that I can kind of extract out of this compiler error or whatever? Because I know that there's an answer out there on a forum somewhere.

Bdougie:

Yeah.

Brendan Burns:

But, you know, the trouble is especially in the this more my you know, it's not minor, but but more esoteric issues that you run into, it gets drowned out by, like, people who aren't developers doing other stuff that happen to use the same keywords or whatever. Right? So they're hard to find sometimes on these forums. And so you kinda try and craft the right query and run that search and look for for results and paw through and hope you find the right result. I think the biggest thing for me and and it breaks your flow, and it's obviously Yeah.

Brendan Burns:

Hard to and it doesn't really give you the solution. It just gives you, like, someone else's solution that you need them to adapt to your solution. I think the thing that's changed for me is that now it's like, hey, could you figure out how to solve this? And it does most of that work for you and it adapts it to your local situation. Yeah.

Brendan Burns:

Right? So it actually uses, you know, your variable names and your constructs and stuff like that. I think that's probably the biggest change is that, you know, flow. Plus, I will also say for especially for hobby projects, you know, I'm not the best at documentation. Right?

Brendan Burns:

Yeah. And you and you said the 6 months ago thing. I feel the same way about code that I've written. Right? Like, I wrote this code to, like, turn on and off the lights in my house at, you know, intervals or whatever.

Brendan Burns:

Right? And, comes to be Christmas time, put the Christmas tree up, and I have to go like, oh, crap. I wanna turn the Christmas tree on. Alright. How did I do 6 months ago when I wrote that code?

Brendan Burns:

Like, you think you're gonna remember, but you never do. Yeah. And, so now but you can just hit slash doc, and it just, like, generates documentation for you. Like, now my code is actually documented even though, like, code that I write just for my own personal stuff. Right?

Brendan Burns:

So I think that's another thing where, like, there's this stuff that you know you should do, but kinda

Bdougie:

Yeah.

Brendan Burns:

Never really felt like doing. But when it's that easy, it takes away the excuse. Right?

Bdougie:

Yeah. That's a huge unlock because, like, again, you think you built and this is open source. I can Yeah. Case in point, it's like you build a thing, You put it out in the open on GitHub because you're like, maybe someone will pay attention to it. Right.

Bdougie:

And you wake up on like a Monday. It's like, oh, yeah. It's on Hacker News.

Brendan Burns:

Right, right, right.

Bdougie:

And they're like, oh, everyone hates me because there's no documentation. It

Brendan Burns:

doesn't work on it only works on this one version of Debian, and there's no docs. Exactly.

Bdougie:

And that that's like the, now they can just put in the AI and be like, cool. Make it work on another distro. Yeah. Yeah. Yeah.

Bdougie:

But, yeah, it's a huge unlock. And, yeah, I love you sharing your story. I also love the fact that you're still hands on keyboard and doing stuff. I was curious. Like, what's the last thing you You mentioned you were winning Rust, but, like, what's the last thing you were what's your last commit?

Brendan Burns:

Well, so the I mean, like, the literal last commit was last night, And, it was actually the system called ROS, which is the robot operating system.

Bdougie:

Okay. That's fine.

Brendan Burns:

It it so my PhD is in robotics. Long, long ago, I did my PhD in robotics. And as a result, I have a couple of robots in my basement.

Bdougie:

Weird flex, but okay.

Brendan Burns:

It's alright. It's alright. And one of them is a robot arm and, because that was what my PhD was in arm was on arms. And I you know, it's sort of one of those stories where, like, you you bring it up, and then you and then it bit rots for 5 years. Then you're like, can't I just get that thing running again?

Brendan Burns:

You bring it up and it bit rots. So I'm on one of the bring up cycles again. But, of course, it's changed. I mean, to your to your point about the deployment and stuff like that, it's changed since the last time I touched this code. And I, of course, I updated everything.

Brendan Burns:

So but the code that I had didn't compile to the new code, to the new libraries that it uses. So I'd I'd been getting that that up and running, and, and actually using, using Copilot to help me do that, to understand some of the the the details. So last night was all about, getting getting this robot moving. And, it's always a little nerve wracking because it's a little dangerous. You know?

Brendan Burns:

Yeah. It can, like, swing around, and it's got it's powerful. So I have a big kill switch that I can use to turn it off. But, so that was that was a lot that was last commit. Now the last PR I reviewed, was today, actually, because I'm so responsible for the clients, the various clients for Kubernetes in different languages.

Brendan Burns:

So, like, there's a Go client that's, like, part of the real main project. But then for Java, for TypeScript, for c, actually, it there's, there's client libraries also, project supported, official client libraries, and and I'm responsible for maintaining a bunch of those. So I was actually going through and and I merged, provide some comments on one PR that someone sent and merged a couple Dependabot PRs. So Dependabot is great for, like, padding your GitHub stats, by the way. That's a that's a pro pro tip.

Brendan Burns:

If you're a maintainer, turn on Dependabot. You'll get, like, 3 x the number of PRs to merge. Yeah.

Bdougie:

It's it's the reminders. It's almost like, you gotta well, you're supposed to floss daily.

Brendan Burns:

Yeah. Yeah.

Bdougie:

Yeah. But, yeah, you gotta floss as an open source.

Brendan Burns:

Yeah. Well, in some of these dependencies, I don't know what they're doing. I mean, I think they probably just set up a GitHub actions or something, but they seem to literally release every day. Yeah. Like, they're just, like, oh, whatever it is, we're just releasing.

Brendan Burns:

It's a patch version, but we're we're releasing This is the

Bdougie:

in the JavaScript world, it is definitely like this. Yeah.

Brendan Burns:

So, like, the Dependabot is just always, like, hey. Hey. Hey. And I'm like, alright. It's it's 9 AM.

Brendan Burns:

I'll go merge those 2 PRs.

Bdougie:

Yeah. We turn on monthly outside of security updates. Okay. But, yeah, it's like dependabot day. It's the internal joke.

Brendan Burns:

Yeah. Yeah. Yeah.

Bdougie:

Excellent. Yeah. And, sorry. I was gonna ask you one more thing, and I completely blanked on that. Oh, what's your favorite actually,

Brendan Burns:

All right.

Bdougie:

Let me pause on the ear. I was gonna ask well, I'll ask 2 more things.

Brendan Burns:

All right.

Bdougie:

Favorite contribution in open source?

Brendan Burns:

My favorite like, my personal favorite contribution? I'm a go two directions with this. Okay. So my favorite my favorite contribution, I think, if I just think about it, was adding ACPI support for the battery for my laptop to the Linux kernel back in probably 1999, I would say, maybe 2000. So, like, back in the day, you know, you wanna run Linux.

Brendan Burns:

You got the stack of floppy disks about yay big. You'd put it all in. And I did this with this laptop that I had. And but the battery didn't show. Like, I mean, it was there.

Brendan Burns:

It powered up and all that, but it wouldn't give you the battery status. Right? So ACPI, I don't remember what it stands for, but it's some specification for all the hardware on the machine. And, like, you parse the tree, from the hardware vendor to figure out, like, oh, here's the place where

Bdougie:

the where I can get battery status from. The kernel does all this stuff. Right?

Brendan Burns:

Yeah. So I learned about that. And then I dumped it and I looked at it and, like, all vendor done things, like, it was just slightly off spec. Right? Like and so the kernel had been written for the d for, like, what people have written in the spec.

Brendan Burns:

The actual implementation didn't match the spec, but but only by little bit. So then I by looking at the what it was looking at in the code and by looking at my what I'd actually dumped out of my laptop, I could see

Bdougie:

where the problem was. I fixed it. I sent

Brendan Burns:

a patch to the Linux mailing list, and

Bdougie:

it got merged. And my laptop had battery support.

Brendan Burns:

And I think the reason that's my favorite commit is because I think it epitomizes open source, especially in those days, right, when I was really getting started, where it was like, okay, you know, like, you have a problem. You can go and see the source code, figure out where the problem is, see the tools, figure out where the problem is here, and fix your problem and make your thing work. Yeah. And send it into the upstream and then make the rest of the world better too. Right?

Brendan Burns:

And I don't know how many people actually benefited from that, but I hope at least a few other people benefited from the fact

Bdougie:

that I fixed battery status for this particular brand of laptop,

Brendan Burns:

you know, that nobody uses anymore, obviously. And so I think that was kind of my favorite that's my favorite commit in a, like, you know, it was the beginning for me. And then the funniest part actually, the funniest part was, like, 2 years later, I got an email, because, of course, your email address is in the commit. And I got an email address from some hardware vendor that's, like, are you interested in a job with ACPI and laptops? And I was, like, you have to realize I know nothing about this shit.

Brendan Burns:

Like, I, like, I read enough of the spec to figure out where I needed to look to figure out where my battery was showing up. And I looked at this c code over here to figure out what I needed to change, but I really didn't understand very much. Right? And they didn't have Copilot to help me understand. I just knew enough to fix it, basically.

Brendan Burns:

Yeah. So I was like, I am not the right person for this job.

Bdougie:

I I

Brendan Burns:

think the other commit that I'm probably the most my favorite one was adding well, we call them third party resources at the time, but what became known as, custom resource definitions to to Kubernetes because that was one where it was a big change and it was a philosophic change of, like, this is how we're gonna do extensibility in this API surface. And it was a little bit contentious. And if you go back and you look at that PR, there's a lot of discussion with a lot of people who are on the project, who are like, I don't know. This isn't the right thing, and this wasn't what I was thinking of. And, like, I mean, it sounds very egotistical for me to say, but, like, in retrospect, 10 years later, I was right.

Brendan Burns:

I was, like, a 100% right and they were wrong. A 100% wrong. Right? And it's just that one that I go back to whenever I'm feeling a little self doubt. I I go back to that PR and I'm, like, oh, right.

Brendan Burns:

Like, yeah. No. Actually, follow the user. Because I was I was my I was I was feeling very, like, focused on the they were focused on, like, the technical parts of the implementation. I was really focused on the user experience of the implementation.

Brendan Burns:

And there are 2 different choices. And if you chose the tech the best technical solution, it had kind of a crappy user experience. And if you chose the technical implementation, but nobody was gonna see it because they'd only see the user experience. And it was was gonna see it because they'd only see the user experience. And it was always a good lesson of, like, follow what the user needs to be successful.

Brendan Burns:

Don't follow what the, you know, like, the computer scientist academic says is the best thing. Right? So that's that's another favorite PR, and just because I feel like that's one where I like it's rare. I think that you build something where you're like, yeah, my opinion mattered. Lots of times you're just doing something that lots of other people could do too.

Brendan Burns:

You just happen to be the person who is doing it. That's That's one where I'm like, no, actually, I think my opinion mattered there.

Bdougie:

Awesome. Yeah. So the thing I was going to ask and I completely forgot about, last year, we talked about contributions and, like, being able to see your contribution graph. And, like, we could see, like, all your PRs. So one interesting and the reason why I reached out to you last year is because actively contributing to open source CVP, Interesting having a conversation.

Bdougie:

We now have a product that you can see all this in one dashboard. Cool. But we also have a product where you can see all the contributions that you make, but also see so what we're shipping, tomorrow, it's called Star Search.

Brendan Burns:

Mhmm.

Bdougie:

And, when I was sitting at my grandma's on my grandma's couch watching Star Search, seeing all, these stars, Beyonce and Ryan Gosling. Nice. Thinking after developers. So you see up and coming folks' inflection points of, like, hey, someone's really got the secret sauce, or someone really wants to be a part of this community. They're doing some really good work.

Bdougie:

Like, these are signals. So, like, things like lottery factor, like, seeing if there's more than 50% of folks making good contributions, there's like, if they won the lottery, they might not be contributing anymore. Yeah. Yeah. Contributor confidence is, like, the ability to contribute the 2nd time.

Brendan Burns:

Yeah. Yeah. If you come back. Yeah. Yeah.

Brendan Burns:

Yeah. That's huge, actually. We did that a lot, focused on that a lot in Kubernetes early days.

Bdougie:

Yeah. We talked about this in the last episode. And it was like you had this phrase, like, how could I know that you walk into a good neighborhood when it's like a repository? So, like, that's what we're doing.

Brendan Burns:

Nice.

Bdougie:

But I think I saw on your contributions or your associated with the Retina project.

Brendan Burns:

Yeah. Yeah. Yeah. Yeah. I haven't contributed to it.

Brendan Burns:

But what it's, we work with that team really closely.

Bdougie:

Okay.

Brendan Burns:

Yeah. So Retina is, it's for advanced network observability, I guess, is what I would say. Like, not just like, hey. Can I ping? You know, lots of people are like ping.

Brendan Burns:

You know? And it's nice. That shows you some connectivity. But, like, if you really wanna understand what's going on in the network, it's critical, to have deep insight. And and Retina is a tool that that combines eBPF, and some other things together to give you pretty deep, observability of what's going on in your Kubernetes cluster in a cloud native way.

Brendan Burns:

You know, example of what you could use it for, we were just talking to a company that has, really large number of microservices in one cluster. And they're, like, actually, it's getting too big. We wanna break it up. But we don't necessarily know how to separate the microservices.

Bdougie:

Okay.

Brendan Burns:

Right? It's kind of like thinking about breaking up a monolith. It's the same problem. Right? Retina can go in and look at the network connections that are happening between all the different microservices and tell you give you that graph of, like, this microservice talks to this microservice.

Brendan Burns:

This microservice talks to this microservice and the flow logs of of traffic between them. And that then can be used potentially to say, like, oh, okay. Like, if we slice it here, that's the minimal disruption. That's the minimum number of microservices that are gonna have to make some changes if we're gonna split it into 2 different clusters. So that kinda, like, deep observability insight about how the network's performing inside your cluster is is what Retina does.

Brendan Burns:

And it's you know, I think it's a good example of, like, how we think about open source in in Azure, which is, we're gonna do it out in the open, but we're also gonna make it a supported part of AKS. So you can actually also have advanced network, services in AKS, and it's powered by that open source project, but available obviously with, like, customer support and ease of use and all of the good stuff that happens if you, you know, use it as a service in the public cloud.

Bdougie:

Yeah. I I don't know if it's, like, because I'm paying attention more because now I'm shipping stuff in Azure, but, like, Microsoft's open source. I feel like there's multiple repositories being shipped

Brendan Burns:

Yeah.

Bdougie:

Like, all the time. Like, GuardNet was a thing that we saw Yeah. Months ago. Now the Aspire thing has been shipped recently. I don't know if, like, David Fowler's, like, been shipping a bunch of stuff in the dotnets.

Bdougie:

Yeah.

Brendan Burns:

Yeah. Yeah. Yeah. Yeah. Actually, I'm really bummed.

Brendan Burns:

I had to actually, that customer I was talking to was, during David's, talk today on Aspire. I really I wanted to go hang out. I I David's a great guy. I like to I like to hang out with him. So, it's, it's fun to see that Aspire continue to work.

Bdougie:

Yeah. Yeah. I mean, I love seeing what's coming out of Microsoft, all the open source that Microsoft is shipping

Brendan Burns:

Yeah.

Bdougie:

All the new features within the Azure dashboard, but also Copilot and etcetera.

Brendan Burns:

So Yeah.

Bdougie:

Yeah. I'm just super appreciative of all the work you and your org's doing. Also everyone else at Microsoft Yeah.

Brendan Burns:

I think it's really spreading. Open source is spreading. It's inside of Microsoft. It's becoming I mean, as I said, the the Retina project actually is a great example. It came out of Azure Networking.

Brendan Burns:

Yeah. It's a sister team of my of our team. So, you know, we didn't typically, when we launch open source, it's been my teams that have done it. Now we're seeing other teams saying, no. No.

Brendan Burns:

We're gonna be open first. Right? And that's, I think that's huge.

Bdougie:

Cool. Excellent.

Brendan Burns:

I'm Brandon Burns. And listeners, stay saucy.

Bdougie:

Secret sauce of the podcast produced in house by Open Sauced, the open source intelligence platform providing insights by the slice. Here in San Francisco and interested in being a guest on the show, find us on Twitter at saucedopen, and don't forget to check out Open Sauced at opensaucedot pizza.