Skip to content
Melo Podcasts Home
CategoriesLanguagesFollowing

Episode · .NET Rocks!

RockBot with Rocky Lhotka

23 Sep 2026 · 1 hr 8 min

Play episode WhatsApp Download

Episode notes

How about a cloud-native AI assistant? That's RockBot! Carl and Richard talk with Rocky Lhotka about RockBot, Rocky's own variant of the OpenClaw/Hermes type personal assistant. Rocky talks about being uncomfortable with the security approaches the other agents have taken, so he went full enterprise architect on the problem and built RockBot as a set of containers behind the Kubernetes orchestrator. Cloud architecture without the requirement of the cloud! The conversation dives into how to give RockBot controlled access to services like calendar, email, etc. And it's all .NET and open…

Transcript

Read the transcript · about 10,970 words, follows along as you listen

Speaker 1:How'd you like to listen to. NET Rocks with no ads? Easy.

Speaker 2:Become a patron. For just $ 5 a month, you get access to a private RSS feed where all the shows have no ads. $ 20 a month will get you that and a special. NET Rocks patron mug. Sign up now at patreon.dotnetrocks.com.

Speaker 1:Hey there, welcome back to. NET Rocks. This is Carl Franklin. And I'm Richard Campbell.

Speaker 2:Rocky Latke is here. It's like a big old party. It's the all-coho show.

Speaker 1:It's going to be a fun one.

Speaker 2:This is episode 2021. We have five more episodes before we give this one up, this thing.

Speaker 1:Before we stop. Before we stop. Stop doing the... Doing the history. The history stuff.

Speaker 3:Yep.

Speaker 1:But, you know, some things happened in 2021. I don't know if you've heard about them. Maybe.

Speaker 2:In my country, there was an attack on the U.S. Capitol on January 6th. Yeah. Several people died. Some people died. Yeah, it was not an insignificant event.

Speaker 1:Yeah. The COVID-19 vaccines rolled out. Yep. They also had Delta and Omicron in the same year. That's right. You knew the vaccines were kicking in because then the virus mutations became way more important. Yep, yep.

Speaker 2:The Taliban retakes Afghanistan.

Speaker 1:After the U.S.

Speaker 3:Withdrawal.

Speaker 2:As the U.S. ends a 20-year war, right?

Speaker 4:Yeah.

Speaker 2:It was kind of a frantic evacuation from the Kabul airport.

Speaker 1:Yeah. Didn't go well.

Speaker 5:No.

Speaker 1:You know, do they ever? No.

Speaker 2:Joe Biden took office. Derek Shelvin convicted of murdering George Floyd. The Suez Canal was blocked.

Speaker 1:The Evergreen incident. By Ever Given. Yeah. I still watch. There was a YouTube channel that started after that incident called What's Up With Shipping?

Speaker 3:Yeah.

Speaker 1:Salma Cagliano. That guy's hilarious. I still watch him. Okay. Yeah.

Speaker 2:In Myanmar, there was a military coup. There was a collapse of some condominiums, Surfside, Champlain Towers, South Carolina. condominiums just collapsed in florida 98 people were killed florida is falling into the ocean let's face it it's not solid ground.

Speaker 1:Well the ocean is disintegrating the ground.

Speaker 2:Underneath it yeah it's not solid ground anymore yeah it's funny a lot of people are from my around this time maybe even earlier we're rushing to move from connecticut to florida just to enjoy it before it goes away i guess i don't know geez that's a weird way to think it is weird The president of Haiti was assassinated and there was a devastating earthquake. Of course, the global supply chain crisis is in full swing here. Inflation is going up. It just wasn't a good year.

Speaker 1:Pandemic times, it was challenging. Yeah. If you thought that was a supply chain crisis, just you wait five years.

Speaker 2:Yeah, that's right. Richard, give us some good news. Give us some space in tech.

Speaker 1:All right, so in January, Starlink reaches 1,000 satellites. It's at the beginning of it, right? Okay. That'll also be the same month that they have the 100th landing of a Falcon 9 booster already. This will be the year that SpaceX now flies more stuff into space than the rest of the world combined, and it will stay that way. In February, Starlink starts up a beta test known as the Better Than Nothing Beta.

Speaker 4:Okay.

Speaker 1:I will sign up for this beta and be in in February.

Speaker 5:Yeah.

Speaker 1:With one of the original dishes. And what was– yeah, part of the first 10,000. They will hit 100,000 subscribers by August and the beta will end by September. They didn't really want to raise your expectations that much. Hey, it's better than nothing.

Speaker 5:Yeah.

Speaker 1:Well, that was exactly it. The coverage was far from complete. They're only just starting to do some Polish satellites. But because I was so far north and they asked– I got a whole bunch of direct questions from them about do you have a view north, that kind of thing. Because– I'm far enough North that I could actually see the turning point of the satellite. So I actually had better coverage than most of that time because I had more visibility of the satellite through it's a, It's the inclination.

Speaker 1:So it still wasn't great. It went out on a regular basis, but it did work and it was magic. It was better than nothing though, apparently. It was better than nothing beta.

Speaker 2:Okay.

Speaker 1:And, and it's, you know, subsequent to that, I've now had fiber pulled up to the property, but I keep Starlink as the backup because that fiber is all above ground.

Speaker 4:Right.

Speaker 1:And we have storms and we have trees. And critters.

Speaker 2:Yeah.

Speaker 1:Many critters. But that's, you know, we are power blips that like out for 30 seconds back on again, that's usually a dead squirrel. It's like, what happens if I chew on this wire, pop? Pop goes the weasel.

Speaker 3:That's it.

Speaker 1:It's like, you just smell burnt hair and meat. Oh, man. And then they reset the line and it's back up again. But that, I can't even tell you how often that happens. Do you think by now natural selection would have selected that trade out? We have a generator, of course, a propane generator.

Speaker 3:Yeah.

Speaker 2:And so when the power goes off for 30 seconds, it's really strange. It comes back on. Does the generator go on? Sometimes it goes on and then immediately shuts off. But it's just that we really need a UPS for our house so that we don't miss the whatever minute or so that it, you know.

Speaker 1:Well, those little trips happen almost every week. So I've now put little UPSs like on your clock radio because I get really tired of resetting that thing. That's not fun.

Speaker 2:I have to do that too. And on anything that has a clock face, right? Oven, microwave, because those are such a pain. I mean, you know, first world problems. 21st century and they can't set the clocks themselves?

Speaker 1:Come on. No. Just put a battery in it.

Speaker 2:Come on.

Speaker 3:Yeah.

Speaker 1:All right. Let's keep going. February, the Tianwen-1 orbiter arrives at Mars. This was China's very first mission to Mars. And they succeed in the first time. The first time any country's ever done that. It's very hard to get to Mars. And this was a no fooling, not just a little satellite. This was an orbiter with a lander with a rover. Like did it all. And their very first attempt to going to Mars is astonishing achievement. That same month, the Perseverance rover lands on Mars. This is the cousin to the Curiosity rover, the big, big one size of a, like a mini, the heaviest objects we've ever landed on Mars. puts down in the Jezero crater.

Speaker 1:This is also one carrying the Ingenuity helicopter, which was a total experiment because it had a little excess weight. And they will, in April, drop that helicopter off the bottom of the rover and it will begin its flights. Also in April, China having a good space year, they launched the first component of the Tiangong space station. This is the Tianhe core module on a Long March 5B rocket. And the 5B is worth a mention This is only its second flight ever. The first one was the year before.

Speaker 1:So it was a freshly modified version of the Long March 5 heavy lift rocket. And essentially what they did is they eliminated the upper stage and extended the core stage so that that core stage, which does have four boosters around it. So the boosters run about two and a half minutes and then they're dropped. This core stage goes all the way to orbit. Okay. And then releases payload and the space station module is about 22 metric tons.

Speaker 3:It's big.

Speaker 1:That's a heavy module. But now you have an empty core module in orbit and it weighs 21 tons.

Speaker 2:Right.

Speaker 1:And in their design, they did not include any controlled deorbit solution for the 5B. So this thing will come down uncontrolled. Fortunately, in this particular case, it will land in the Indian Ocean sometime in May.

Speaker 4:Hmm.

Speaker 1:But they'll keep using this rocket. In fact, they still use this rocket, and it is very dangerous. So as much as we're impressed by the Chinese accomplishments, this was an unbelievable choice to have a 20-ton object you just allow to de-orbit at random. Further to the space station, they'll have their first supply mission in May. The first crew will arrive in June, spend three months there doing refitting, come back down in September, and the second crew will go up in October. Back on the SpaceX stories, they start their Starship chess. So that was this was just the.

Speaker 1:upper stage tests before they worked on the booster. So SN9 in February and 10 and 11, these are tests to try and do hops and then flop maneuvers. So this is, can we actually bring this thing down and land it by belly flopping down through the air and then firing the engine and landing on his tail, you know, very Buck Rogers. And they'll pull that off in May with SN15, where they will boost itself up to about 10 kilometers. So pretty darn high. and then belly flop down, fire the engine, and land on its tail.

Speaker 4:Magic.

Speaker 1:Insane.

Speaker 4:Works.

Speaker 1:Next. And, of course, there's a lot more progress since then. Also in September, the Inspiration4 launched the first fully tourist flight on a crew dragon. This is Jared Isaacman, who's now today the NASA administrator, billionaire, adventurer. He's done all kinds of crazy things. He does this particular one with– a, a hospital involved or a children's foundation. And, uh, that's when we find out that regular people get really sick in space and stay that way. But, uh, yeah, that's the inspiration for launch a couple more space launches in November, the dart mission. This was the mission to see, can we actually change the orbit of us of an asteroid? Uh, we, this is when it launches. So I'll talk about it when it actually gets there. Cause it takes a while, uh, to get out to the, um, Diddy mouse, um, Complex is an asteroid orbiting an asteroid. And finally, to round out space, a fantastic event in December. the James Webb Space Telescope launches on an Ariane 5 successfully. Oh, yeah.

Speaker 1:We had the fortune to meet the James Webb in person. We did. Back at Goddard in the day. And so, yeah.

Speaker 2:That was a really interesting visit for you.

Speaker 1:Well, I had such a good time. Yeah, we saw not.

Speaker 2:Only that, but you were asked to Talk to the engineers in different departments to bring them all to the same page.

Speaker 1:We did a bunch of things with them. We also did an interview with one of the engineers. And we got to go into the warehouse. Remember we saw the prototype of the Hubble optical corrections?

Speaker 2:Yep.

Speaker 1:It was a very, very geeky day. It was a very geeky day. Yeah. Good fun. All right, let's move on to computing. Of course, you talked about the supply chain crisis, and we certainly have issues with computer parts. GPUs go through the roof. It's all of those things in 2021. January is also the A month that Dario Modi and a bunch of other ex-OpenAI folks start a new company called Anthropic. Yeah, I've heard of that. And they'll get their first round of funding in May. In March, the Hafnium proxy breach of Exchange Server. That's easy for you to say. If you were in, if you're a system in, this was a very, very bad month, about 250,000 exchange servers get attacked. This was state actor, um, almost certainly China who had found this breach and utilized it to, uh, steal mail data from certain critical customer folks that they cared about. And then to cover their tracks, they leaked it so that all kinds of things got hacked and it was hard to tell what the intended targets were anymore.

Speaker 2:Um, Some of my friends were smart and got rid of their Exchange servers before 2021.

Speaker 1:Well, this was the big push. Yeah. This was the moment a lot of people went, you know, we were thinking about Exchange Online. Like, there was a time when Microsoft sold small business server so you could have your own Exchange server for your small business. And that's a lot of these servers that got hacked. And there's just nobody to administer them. In fact, there's a point where the FBI in April actually gets permission by the courts to To go and remove any exploits on these servers.

Speaker 1:So they use the breach to deal with the breach. Although within a month or two, or in just a few weeks, Microsoft says like more than 90% of them did get patched. Like everybody noticed pretty quickly. They didn't get cleaned up. But yeah, you talk about you shouldn't be running your own Exchange server anymore. Yeah. It was a huge moment for that. When did you get rid of yours? Yeah, eventually.

Speaker 2:Yeah, but it was like 15, 20 years ago or something. 15 years ago, maybe?

Speaker 1:No, no, no. I mean, I had mine from the very beginning. I think I was already migrating off at this point. Yeah, I thought so, too. There's something about leaving me home for a whole year. I find things to do. And so, my... My exchange server still existed but was largely closed off, but I'd moved all my workloads into M365. Yeah, as well you should. It made the Colonial Pipeline attack. Maybe you'll remember this one because this was a very interesting– this was the one that affected everybody. The Eastern Seaboard, this is the main fuel distribution system. And so there was panic buying of gas and so forth. For the most part, it was resolved in less than two weeks. I would make the point they did pay the ransom of 75 Bitcoin, which was about $ 4 million at the time. Jeez. By June, the Department of Justice will have tracked it down and retrieved 63.7 of those Bitcoin back.

Speaker 2:Wow.

Speaker 1:But yeah, just a reminder that hacking is not just about software. It has real effects. Definitely. In June, the GitHub Copilot prototype launch, it was announced at the Build event. Mm-hmm. Working with OpenAI and Microsoft, this was a descendant of the early version of GPT-3 to be trained on the public code base that is GitHub. And so, yeah, I've been previewed. Somewhere in around this time, Microsoft actually invested another $ 2 billion in OpenAI. I couldn't find a solid date on it, but it is mentioned in 2021 that it did that. So I suspect it was part of this GitHub Copilot launch, arguably one of the very first products in space. But more important in the AI space for me is in July is when DeepMind. Oh, yeah.

Speaker 1:So this is Demis Hassabis, publishes the AlphaFold paper. So after beating Go with his software, he focused on protein folding. He and his team, again, through the pandemic, and had completed 350,000 protein fold models online. that looked like 99 plus percent accurate and decided to just publish it as an openly searchable database for scientists. That's great. Yeah. Arguably, you know, when we talk about is all this AI stuff worth it, like this hype cycle, all the insanity, this is the thing I point to.

Speaker 3:Right.

Speaker 1:Because by the following year, they'll be up to 200 million protein fold.

Speaker 2:Protein folding experiments is the sort of the basis of pharmaceuticals. isn't it these days it is yeah certainly and it's a pharmaceutical discovery and it's incredibly hard to work out a protein folding right you do it with x-ray crystallography like you can spend years just to solve one and by using these machine learning models they've been able to you know solve millions literally millions yeah all right coming into the end of the year in october windows 11 ships because you know apple had shipped in 11 so of course microsoft had shipped.

Speaker 1:11 wasn't 10 supposed to be the last version.

Speaker 3:Why, yes.

Speaker 1:Yes, it was. But you know who said that, actually?

Speaker 3:Who?

Speaker 1:No senior Microsoft person. That was Jerry Dixon who said that. That's who he gets quoted for.

Speaker 3:Yeah.

Speaker 1:Huh. It wasn't actually true.

Speaker 4:No.

Speaker 1:Things happen. Well, who knows if we're going to see a Windows 12. I think we will. I think we're shaping up right now. Also in October, IonQ goes public. What the heck is IonQ? This is a quantum computing company, a pure play quantum computer company. They had been around for almost a decade at this point, and they decided to go public with a SPAC, which is all a bit of questionable modeling, but they raised a bunch of money that particular way. They use a methodology for building quantum computers called trapped ions. This is where they use ions of ytterbium. you know, you've got some uterbium in your backyard right now. It was a little uterbium yesterday at my neighbor. Uterbium is a rare earth. And with the joke, of course being really not that rare, but your terbium ions are very, very stable when you blow all their electrons off of them. And so they keep them in electromagnetic traps in a vacuum and they can be manipulated by microwaves or lasers. Uh, as, uh, Qubits go.

Speaker 1:These ones are more stable but a bit slower. They are reliable and stay in entanglement, so that's one of the advantages of the approach. Very difficult to scale, and we're going to have more quantum conversations as we get through these years because this was an interesting time in quantum computing, sort of the 2019 to 2023 phase. There was a rapid increase in the number of qubits around and different designs going on. So you've seen the superconducting types, those kind of crazy superconducting chandeliers like Sycamore from Google.

Speaker 1:There was the photonic quantum computer done by the Chinese. And here is a trapped ion technique. In November, IBM will announce their Eagle quantum processor, which had 127 qubits, which sounds like a lot, except their error rates were pretty darn high. In November, at. NET Conf, we get Studio 2022 and. NET 6. So we're climbing. We're on the other side of. NET in the sense of unifying the strategies, that kind of thing. They merge the Mono and. NET BCLs and get all that stuff straightened away. They were supposed to ship Maui at this point, but as we know, I think we talked about it on the show.

Speaker 1:In fact, we even talked about David Art now. They had this impossible problem where. NET 6 and Studio 2022 were absolutely intertwined. You couldn't use one without the other. Both were being built at the same time, and Maui had to be built on both, and both were shifting under them. So they're just like, they were an impossible trap. We'll take them another six months to really get to the version of Maui that they expected to have. That November was also, if you recall, the hot reload crisis.

Speaker 1:Do you remember this?

Speaker 2:Oh, yeah.

Speaker 4:Yeah.

Speaker 1:The hot reload apology year. That's what it turned into pretty darn fast. It's like four dumb days of, ah, we're not going to ship this just yet. What? And then, you know, that's the moment when you find out that even Microsoft has its own version of Linux and they're depending on hot reload too. And so all that just went away. Talk about it. a cell phone and all of a sudden that the old Microsoft up to its battle tricks, the bad guy thing again, sort of reared his head. It's just a dumb thing.

Speaker 2:They kind of set themselves up for it. I mean, it's basically one feature, but many, many, many, many different technologies and ways to achieve it.

Speaker 1:Oh, sure.

Speaker 2:And so, yeah, I'm, I just remember the Blazer experience is horrible for a long time.

Speaker 1:Yeah. And it's still kind of his.

Speaker 2:It's not horrible, but you can't really depend on it.

Speaker 1:Yeah. Anyway, he's talking about a self-inflicted wound. Do better. I don't know what you're thinking. And last but not least, because in hindsight, I realized 2021 was just this incredible year for security. Between the proxy exploitive exchange, the colonial pipeline, in December, we get the log for shell exploit.

Speaker 3:Oh, yeah.

Speaker 1:So, this is that Java logging library that everybody uses. Was that Log4J? Yeah. Log4J was one of the Log4Shells.

Speaker 4:Yeah.

Speaker 1:This is the overall. But this is, you know, our response to this was to start doing software build and material shows. That's right.

Speaker 4:Right?

Speaker 1:Was here is this exploit that was a library everybody used. And if you were dependent on it, you had a vulnerability. Like, these are all very big deals.

Speaker 3:Yeah.

Speaker 1:And so 2021 turned out to be incredibly important year for thinking about modern. security and the challenges there and that's.

Speaker 2:All i got all right well with that let's roll the crazy music for better noah framework awesome so you know when i sometimes i go looking in github for trending repositories yeah there's hardly any trending repositories that are significant to developers anymore.

Speaker 1:Interesting, huh? GitHub ain't what it used to be.

Speaker 2:Yeah, I got to go digging for them. But there are a lot of things for gaming and for media and for, you know, video stuff.

Speaker 1:Do you think this is a side effect of the LLMs that everybody knows how to use GitHub now?

Speaker 2:I think so, yeah.

Speaker 5:Yeah.

Speaker 1:I think so.

Speaker 2:Plus, you know, why would I create some software for open source and make it public when anyone can just talk to their, you know, to their agent and make it themselves.

Speaker 4:I don't know.

Speaker 1:Who knows, but because Odin co-bases sucks. I'm sorry. Did I say that a lot? I feel bad.

Speaker 3:All right.

Speaker 2:So here we go. It's called Twitch downloader. I know Jeff Fritz will love this one or maybe he won't because it, you know how there's always been like YouTube downloaders that don't work.

Speaker 3:Right.

Speaker 2:Cause they're, you know, but Twitch, apparently this thing can, so it can down, download Twitch clips and Twitch VODs and chat for VODs and clips. And it's a WPF app.

Speaker 3:Cool.

Speaker 2:And it seems to work. I mean, they basically put a video that they downloaded in the repo, and you can look at it.

Speaker 1:That's what I look for in a download. Can it download? Yeah, that's right. Exactly. You can't just say, hey, it works. Show me the proof. Yeah, yeah. And it's got Mac OS, Linux, Windows. Awesome.

Speaker 2:There's a CLI. So, you know, it's probably– I can't. Say this for sure, it's probably a Maui hybrid app.

Speaker 1:Maybe, yeah.

Speaker 3:Awesome, dude.

Speaker 1:Okay, that's cool.

Speaker 3:Yeah.

Speaker 2:So if you need it, you need it. If you don't, sorry.

Speaker 1:It's all right. There it is. It'll be okay. Who's talking to us today, Richard? Grabbed a comment on our show, 1973. You know, way back then. That's October of last year. We talked to one Rockford Latka about CSLA 9. I've heard of that guy.

Speaker 5:Yeah.

Speaker 1:And I think we were talking a little AI on the side about that and making an MCP server for CSLA, having some fun with it. And Richard Rukima, the code pewter, said, the AI context window is not able to understand the CSLA framework. Isn't that a code smell? I don't know if that's true. Maybe just the contact windows are too small. It was 2025, man. Like, who knows how anything works, right? AI, you know, it's interesting to think that this was just before the turning point, right? Like later that year is when things will suddenly get dramatically better. AI can read and understand the interdependencies of a code base very well.

Speaker 1:If it can't do that in a context window, I consider that something that might need refactoring.

Speaker 3:Fair.

Speaker 1:Of course, AI is still new to all developers. The tech is still evolving. Using AI in development is a new skill. And when exercise is perfected, it is, in my books, the same as learning advanced skills in search. Definitely. Leveraging tools make development more productive. And AI is an incredible tool for learning and research. I have nothing to add. Richard is right. I don't know about the code smell thing. But CLA is an old code base. Like, it's gone through a lot. Maybe the LLMs didn't be sure.

Speaker 2:Well, things can smell, but not necessarily point to anything. There you go.

Speaker 1:Just because it smells doesn't mean it's bad. Doesn't mean it's bad.

Speaker 4:Yeah.

Speaker 1:It's like, Maybe it's your smell. Could be. Rich, I'm not going to send you another copy of Music Code Buy. You've got plenty of them, I'm sure. But if you'd like a copy of Music Code Buy, write a comment on the website at. netrocks. com or on the Facebooks. We publish every show there. And if you comment there and I read it on the show, we'll send you a copy of Music Code Buy. Or if you just want to go get it, go to musictocodebuy.net. Yeah, go get it.

Speaker 2:It's 20-some-odd tracks of 25-minute-long length music. Instrumental music that's designed to get you in a state of flow and keep you there.

Speaker 1:Nice.

Speaker 2:All right, Rocky. He's been quietly just chuckling to himself at our silliness here.

Speaker 1:Yeah.

Speaker 2:Rocky Lotka is a chief software architect at Merimer LLC, VP of strategy at Zebia USA, and is the creator of the open source csla.net development framework. The author of numerous books and regularly speaks at major conferences around the world. He's been on this show previously. I don't know, 26, nine times.

Speaker 1:Who knows? Lots. I always think of him as one of the inspirations for the show. Like you always do. It was him and Billy arguing at a VBITS about.

Speaker 3:NET.

Speaker 1:You're like, people need to hear this conversation.

Speaker 2:It wasn't an argument. It was a conversation. It was a great conversation. And I was in the speaker's lounge and I thought to myself, you know, somebody should be recording this. Anyway. He's also Microsoft RD and MVP, and you can get more of his information at lotka.net. That's L-H-O-T-K-A dot net. Rocky, the last time, well, not the last time you were here, but I actually mentioned Rockbot on episode 2015 that we did with David Gutman. And it was on OpenClaw, and he was one of the contributors to OpenClaw. He knew a lot about it, and he had some good things to say about how to keep it secure and all of that stuff. But I say that because that's just about after when I learned about Rockbot. And, well, I'm just going to let you take it from here. Tell us about it.

Speaker 3:All right. Rockbot is similar to OpenClaw in concept and inspired by, no doubt. I became aware of OpenClaw before it got its current name back when the naming confusion was high and, uh, um, and kind of looked at it, you know, read around it, you know, that sort of thing. And I'm like, man, this is something I really want. And at the same time, it's something I don't think I want to run on my actual computer because it has access to everything on the computer where it's running.

Speaker 3:And I don't trust AI that much. So yeah, nor should you, my goodness. No.

Speaker 2:Well, and at the time there was a lot of problems that people were causing. Uh, I remember it sort of went rogue on Facebook.

Speaker 1:Yeah.

Speaker 3:There were a number of pretty high profile stories. I don't know how many of them were validated. You know what I mean? But, uh, yeah, a lot of, uh, fear, uncertainty and doubt for sure. And, uh, So I kind of sat on it, and then I found a thing called Nanobot that somebody had written. It may still be out there and being maintained. But its claim to fame is that it was under 4,000 lines of Python to run a basic LLM or agent loop. And you could run it in a container. So I'm like, all right, I'm going to run this in a container. And I played with it for a bit and was pretty underwhelmed.

Speaker 3:I suspect it was because I wasn't aiming it at an expensive high-end model, as I've learned. But this was fairly near the beginning of my personal AI journey, too. And so just in the last year and a half or whatever, the other technology has changed. Our expectations have changed. Certainly my understanding of how all this stuff works has improved dramatically. So looking at this 4,000 lines of Python, I thought, well, geez, if it's only 4,000 lines, I could write that.

Speaker 1:I mean... We do these things not because they're easy, but because we thought they would be easy.

Speaker 2:I thought you were going to break out the Boston accent because they are hard. Yeah, so when you say, I could write that, what you really meant was, you know, Claude and I could write that.

Speaker 3:Well, yes. Yes, very much. Prior to AI, I would have said, oh, I could write that. I mean, you know, it's a digestible piece of But yes, at this point, we're very near to what I think Richard was describing as the turning point here. And in fact, I didn't really start building Rockbot until after the Opus moment in November of 25. So it was probably the second big project that I did with AI. The first one I failed many times over. It was a whole different concept.

Speaker 3:because I had to learn how to get Claude to do the things I wanted it to do.

Speaker 2:Before we go too deep into it, just to let everybody know, this isn't like a drop-in replacement for the agents that you would use to write code.

Speaker 3:Oh, no.

Speaker 2:This is definitely like the personal assistant or the hired help role in your company, right?

Speaker 3:Absolutely. Yeah, Rockbot is not intended as a developer tool at all. It is intended as a Uh, personal or professional assistant type tool. And, um, but I, I did, I started from me and Claude, we started from nothing and, uh, uh, except for having read an awful lot of science fiction and cyberpunk in my lifetime. And, uh, you know, looking at what, uh, open claw and nanobot and some other things were, were doing. And, uh, and a lot of it was really was inspired by various books that I've read in concepts now. And, Like, okay, so the core loop, you know, so it turns out, too, that I, like I think a lot of people did at the time and maybe still do, did not have a clear picture of what a quote-unquote agent actually was. Right.

Speaker 2:A lot of people use these terms interchangeably, the AI, the agent, the LLM, and they're not.

Speaker 3:They are absolutely not.

Speaker 1:Right.

Speaker 3:Yeah, it turns out the LLM truly is a stateless service that you feed it a bunch of words and it does math and comes back with a bunch of words. And what we all think of as a quote-unquote agent is at least as much to do with the harness, which is the software that we as humans are talking to that builds up that blob of text that gets sent to the LLM and then.

Speaker 2:My co-pilot would be a harness.

Speaker 3:Yeah.

Speaker 2:The CLI, the Claude app would be a harness.

Speaker 3:Yep, exactly.

Speaker 4:Yeah.

Speaker 3:These are all examples of harnesses. And M365 co-pilot. Yeah. All of these things. And really what we've seen over the last year is a lot of maturity coming into a lot of different harnesses. Yeah.

Speaker 2:Yeah. Because the LLMs, we can only innovate and train so much, right? So now it's the harness and intelligence is going to bring those things to the next level, do you think?

Speaker 3:Well, it's definitely a combination. I mean, these, you know, the Opus 4-5 all the way up now through Fable and, you know, whatever else there might be that we don't have access to.

Speaker 4:Right.

Speaker 3:I mean, those are some pretty substantial changes. Yeah, they are. Yeah. Um, but at the same time, if you look at, you know, November 25 was really a combination of Claude code getting powerful enough to, uh, as a harness to really do the things we wanted it to do coupled with, uh, Opus four or five showing up.

Speaker 1:It was, it was a better model.

Speaker 3:It was those two things in concert that really unlocked, uh, It was so much. It was just a night and day, at least for me.

Speaker 1:You notice the tone change for the show and the conversations with developers where it's thought being, this might be interesting to this. Well, this seems to work. We're just getting results now. The tone very much changed. Hey, we should take a break and dive into how to implement this.

Speaker 4:Right.

Speaker 2:We'll be right back after these very important messages. Developers are asking a new question. Do we still need third-party libraries when AI can generate so much code? For common UI tasks, maybe, but not always. But deep functionality is different. Document editing, PDF generation, rendering, conversion, and enterprise document workflows are the result of years of engineering, extensive testing, and millions of real-world deployments. AI can generate code, yeah, but it can't instantly generate decades of proven document technology. TXTextControl gives developers that foundation so you can focus on building your application, not rebuilding a document engine. Learn more at textcontrol.com.

Speaker 1:And we're back. It's. NET Rocks. I'm Richard Campbell. That's Carl Franklin.

Speaker 3:Yep.

Speaker 1:Talking to our buddy Rocky Alaka about his RockBot. I mean, I appreciate the cloud-centricness, especially for the time, because there was so much trust issue around running the hardware yourself. I mean, most folks that I know were trying to play with these things were literally getting like a separate iMac or a NUC or something to actually host them on. Because if you put them in a regular machine that has privileges, it's going to use them.

Speaker 3:Yes, it is. Yeah.

Speaker 1:So what does it take to set this up in the cloud? I presume you did it with Azure.

Speaker 3:Interestingly, I did not.

Speaker 1:Oh, look at you.

Speaker 3:I know, I know. Although Azure, it could host in Azure. But yeah, you're right, Richard. I built this thing because I'm an enterprise developer and have been for my career. I'm like, okay, how would you create... one of these things in a way that, that the agent doesn't have access to everything in the world.

Speaker 1:Right.

Speaker 3:Um, and so the answer turned out to be, at least in my, uh, implementation is I rely heavily on something called MCP servers, which are, uh, give, give an agent arms and legs. And then I use that as a security boundary. And so, um, For example, I've also written something called calendar-mcp, which lets me connect to multiple M365, multiple Google, and different email calendar and contact sources. Because I am one of these people that have like five or more... daily email and calendar accounts on different places.

Speaker 3:And so people are like, hey, are you free next Tuesday? And I'm like, let me look at my five different calendars.

Speaker 1:Across different providers of calendars. Of course.

Speaker 3:And so now Rockbot can see them all. But the differentiation here, and this is a long way to get to how do we deploy this, but The differentiation here is that the calendar MCP server has the credentials to see all those things.

Speaker 2:Right.

Speaker 3:Right. Rock bot itself only has the credentials to talk to the calendar MCP server.

Speaker 1:Interesting.

Speaker 4:Yeah.

Speaker 1:So you're creating that proxy limit.

Speaker 2:Yeah. We talked about this on the first episode that you hosted of co-hosted of coded with AI. And it occurs to me while you were describing this, that, your vast experience in writing, you know, N tier applications, having like a business server, like a business logic server, an application server in between your UI and your APIs or your backend to process logic and all that stuff. Like this whole distributed mindset really came to play when you designed Rockbutt, didn't it? I mean, I think of those MCPs as like that, piece of the puzzle that makes whoever's calling it not have to worry about the credentials or have access to them.

Speaker 3:Absolutely right. You guys know I've been living and breathing distributed systems for decades. It was, to me, a natural extension. I package all of the. Before I go there, there's two things. Rockbot is two things. It's a framework for building agents that you can use. There's a bajillion NuGet packages, and you can use the ones that apply to your scenario. But then there's the Rockbot agent itself, which is my personal assistant, which uses almost everything in the framework. And so it's the big dog.

Speaker 3:That is packaged into a set of Docker containers.

Speaker 1:Right. Interesting.

Speaker 3:And so the simplest way forward, if you go to rockbot.dev, there are instructions to how do you get it running with Docker Compose. And that's by far the easiest entry point. You need an LLM endpoint and an LLM API key. and ideally a Brave key for web searching. Right. And, you know, you plug those in on the container. And yeah, Brave, yeah. One of my colleagues said, oh, why aren't you using Bing search for an API key? And apparently Microsoft is changing that or has changed. I don't know. Anyway, it doesn't matter. You can use any search provider. Um, is cause to Carl's point, not only is this thing distributed, but it uses dependency injection and, um, you know, provider models.

Speaker 3:And so it's like, Oh yeah, you don't like the way Rocky did a certain thing. Well, you can, you can replace that. Yeah, exactly. Um, But then you spin it up in Docker Compose or in Azure. My real one is running in my own personal Kubernetes cluster that is just four old laptops or five old laptops that are running Kubernetes K3S. But the point is that I've got a cluster of uh, containers running. So I've got the rock bot agent itself running, and then I've got calendar MCP running, and I've got a council of experts, um, agent running that is a totally different use of the rock bot framework. Um, but if I'm like, Hey, here's, here's a, here's an idea and I want to run it by a council of experts that rock bot knows how to talk to that. Um, and, and a whole bunch of other things. So rock bot, uh, for example, can run Python scripts, but it runs those in isolated containers that have limited permissions because creating a Python sandbox that's actually secure turns out to be really hard, if not impossible. But if you run sandboxed Python in a sandboxed container, you know.

Speaker 1:Yeah, so this really comes down to these are security parameters you trust.

Speaker 3:Oh, yeah.

Speaker 1:That are very clear that these tools aren't going to be able to get through them in theory.

Speaker 3:In theory.

Speaker 1:Software is funny that way. Yeah.

Speaker 2:How do you interface with it? I mean, is it a chat window ultimately?

Speaker 3:Ultimately, it is. I wrote a Blazor UI so that I can run it from my phone or my laptop or my desktop. and interact with it. Um, I know that it's pretty common for a lot of these agents to, to allow you to get at them through WhatsApp or discord or different things like that.

Speaker 1:Signal signal.

Speaker 2:Yeah.

Speaker 3:And, uh, Slack and, and, and again, this is all extensible. Um, and, and so ultimately I probably will support one or more of those. Um, But it's not been real high on my priority list because I'm able to do what I want through the browser.

Speaker 2:So give me an example. You're out at a ballgame, let's say, and something occurs to you. You whip out your phone. You connect to Rockbot. What would be something that you might ask Rockbot to do or say?

Speaker 3:Well, Rockbot manages my to-do list.

Speaker 4:Mm-hmm.

Speaker 3:So I, if, if I'm like, oh boy, I got to remember to do this when I get home, you know, I would just say, hey, rock bot, you know, add a to do and, you know, to remind me to do this thing when I get home or next Monday or, you know, whatever.

Speaker 2:Right.

Speaker 3:Um, or, uh, like any other chat agent, like my wife and I went out to dinner a couple of nights ago. So I was saying, oh, in this area, where, where would I find, you know, some good Mexican food. Right. And, um, that I don't think is anything special, but, um.

Speaker 2:Well, Mexican food in Minnesota.

Speaker 4:Yeah.

Speaker 5:That's pretty special awfully far north awfully far north um but because it has access to all of my calendars you know one of the big things i do use it for is um you know i i need a two-hour slot to have this you know heads down meeting with some people next week right what will work and.

Speaker 3:It's able to schedule it around my family calendar, my three different work calendars and so on.

Speaker 2:When's the next two hour available slot in my schedule?

Speaker 3:Yeah, right. And it has, and this honestly has been one of the, for me personally, one of the more interesting geeky parts of this whole thing is that I wrote its own memory system from scratch.

Speaker 5:Right.

Speaker 3:And So it has conversational memory, which pretty much all agents have. And then different agents manage conversational memory, like, like a copilot compacts when you get close to a hundred percent of, of the context window or, um, Claude does the same thing, or you can force compact. I actually chose to have a rolling window, so you never have to compact. The conversational history only grows back a certain amount of 20 turns or something. But then what happens is that as memory goes out of the conversational history, it gets mined. for more persistent memories that go into a long-term memory cache that may last forever.

Speaker 2:You're describing my brain.

Speaker 3:Well, see, this is why this is so much fun, Carl. It's like brain work. And over the years, I've read different books, you know, pretty fairly academic books on like how the human mind works or at least how they think it works.

Speaker 2:But we know that short-term memory is, in one place in the brain and long-term memories are in another place. And also I know that every time that you recall a memory, you make a copy of it. This is just how the brain works. Brain makes a copy of memories. And so you affect it anyway.

Speaker 4:Yeah.

Speaker 2:You affect it.

Speaker 1:So, right.

Speaker 2:So that happens when you get older, you might think you remember something that happened when you were a child, but it's a copy of a copy.

Speaker 1:Of a copy of a copy.

Speaker 4:Yeah.

Speaker 3:Yeah, exactly. And yeah, so when you recall a RockBot memory, it does, in fact, update the last recalled date. Because the other thing that RockBot does, and this I thought was amusing because I blogged about how it dreams. RockBot dreams. Mm-hmm. And it was not long after that that Anthropic came out and said, oh, by the way, we're going to make Claude dream. And I'm like, oh, well, that's cool.

Speaker 1:So when you say dream, you know, I think about what dreams are.

Speaker 2:They sorting out random stimuli that happens during the day and sort of putting it in boxes.

Speaker 3:Yep.

Speaker 1:Is that what that way you're talking about?

Speaker 5:It is.

Speaker 3:And the dream, I think, now does seven or eight different things. Oh, one of which is it mines for more memories that should be long-term because it's running in the background, so it has more time than the user's not waiting. But then it also goes through the corpus of memory looking for duplicates and looking for things that might be an old memory that hasn't been looked at for a couple of years and that might be a candidate for pruning. Um, and, uh, and then it goes through and does the same thing with skills because that would be the other thing. You know, when I wrote this was right at the beginning of when the whole skill concept was becoming a thing. And I'm like, great idea, but I want my skills to be self-improving. So when something goes wrong, um, and, and so the dream is in integral to that in that when a skill goes wrong, the agent, in real time tries to fix it and work around it, but it can file a support ticket to itself. For dream time. For dream time. It's like, yeah, yeah, yeah.

Speaker 3:This did not work as planned. When you're dreaming, try and figure out a better way to do it. Wow. You know?

Speaker 2:And so is your goal really to build up just the memories of a lifetime that for, for rock bots. So the longer you use it, the, better it knows you and the smarter it gets. Is that your goal?

Speaker 3:Absolutely. Right. Yes. Yeah. So it does, it builds, it has profiles on both of you, for example, because I interact with you guys in different capacities and, you know, um, you know, through, through this show, but also as friends and so forth. And, um, yeah. So as I talk to rock bot about stuff, you know, it's, it's like, oh yeah, Richard, I know that Richard likes to fish. So, you know.

Speaker 1:So you're thinking, what would Richard like for his birthday? A fish! Send him a fish! He loves fish!

Speaker 3:It might do that. I don't know.

Speaker 2:So do you just have conversations with it? Just not necessarily about anything?

Speaker 3:Yes, I do. I actually talk to Rockbot about building Rockbot. And I also talk to Rockbot about music and other things. And yeah, it Yeah. Part of it is frankly is testing, right? It's like, okay, how do I make sure that it's doing all the memory stuff the way I want it to? And so I have to have these conversations. So it's an academic thing. And then part of it is that ultimately I would hope that rock bot or something, I mean, something like rock bot is, is directly tangibly useful to, um, people, you know, that, that like my wife interacts with, uh, the amazon assistant all the time and it has also gotten quite good at having a memory and so she's talking to it about different things that when she's gardening or cooking or a variety of different topics right and uh and it slowly is building up memories um not necessarily in a great way um sometimes they work and sometimes they don't and rockbot is similar i guess you know it's it's hard.

Speaker 2:A big difference from what we do, which is I have a history of conversations with ChatGPT, but all of those memories are stored in the cloud somewhere. And if ChatGPT were to go away or to have a system reset or something like that, I'd lose all that stuff. So you're keeping this memory where? Locally?

Speaker 1:Locally.

Speaker 3:It's in my Kubernetes cluster. But yes, it's local to the container storage that Um, you, you set up when you, that's really cool. So run it in Docker compose, it's going to be on your local disk as a shared volume and a different depends on how you deploy it. But, but yeah, you, you own it. And that to me was part of the key because, maybe I don't want people to know that I like heavy metal and hard rock. That could be secret information.

Speaker 2:One of the coolest things that occurred to me, like 50, 60 years from now, you're gone and your grandchildren or great-grandchildren will still have RockBot. And they come across this little doohickey in the garage, and they take a picture of it and say, what the heck is this? And you say, oh, that was Rocky's third steel automotor, whatever it is. And he used that when he cut the lawn. He attached it to the lawnmower, and it gave it more gas mileage. I don't know what it did.

Speaker 1:Whatever.

Speaker 2:But it has knowledge of you. And, you know, some descendant in the future could walk up to it and, you know, get to know.

Speaker 1:You through it.

Speaker 3:Yeah.

Speaker 1:So there's a little immortality there.

Speaker 3:Precedent for this in a lot of science fiction, including stuff from John Scalzi and Alistair Reynolds.

Speaker 2:Ray Kurzweil.

Speaker 3:Yep.

Speaker 1:Although he wasn't really science fiction.

Speaker 3:No, no. But yeah, you're exactly right, Carl. That idea is in the back of my mind because it's like, wouldn't it be cool if your future generations could have a conversation with a facsimile of yourself?

Speaker 2:Now, here's another wrinkle. You and I have been working through using Quinn on models and Lama CPP on my local machine. Is there any reason Rockbot couldn't use that as its LLM?

Speaker 3:I have tested it using my local Quen 3.8, and it works fine. A little bit slower and a little bit dumber than the models that I'm using in the cloud.

Speaker 1:Right.

Speaker 4:And....

Speaker 3:But there's another interesting point you bring up from a tech perspective. And that is that I actually started with the intent of using deep seek because it's ridiculously cheap.

Speaker 5:Right.

Speaker 3:Right. And ultimately had to give that up because deep seek was not capable of the tool calling.

Speaker 1:Right.

Speaker 3:That is necessary to really do all of the stuff that rock bot does.

Speaker 2:Right.

Speaker 3:And so then I tried various other models and ended up writing up some plugin services that are per provider because it turns out, for example, that GPT 5.4, 5.5, um, will occasionally spit out paragraphs of Chinese, uh, advertising for gambling and randomly, randomly, apparently it's in the training data. It's a known issue. And so Rockbot has a plug-in for GPT-5.x to help mitigate that problem.

Speaker 5:Wow.

Speaker 3:Isn't that funny? So when we come back around to Gwen, Gwen actually works pretty darn good out of the box, but I haven't used it enough to see it. Thus far, every model I've interacted with has had to have some little tweaks or little guardrails added because they all seem to have their own quirks. Yeah.

Speaker 2:And not the least of which is Lama CPP, which apparently needs to be restarted every once in a while or else it just loses its mind.

Speaker 3:Yes.

Speaker 2:Literally.

Speaker 1:Probably leaking memory somewhere.

Speaker 3:Yeah.

Speaker 2:We think it's a cache issue. And the cache gets damaged or something like that. So if you run it with no cache, that's the next experiment.

Speaker 1:That we're doing. It doesn't have a problem, but then it sucks.

Speaker 3:Well, it could suck. It could. Yeah, yeah.

Speaker 1:So, I mean, you talked about the calendar hooks. Like, what are all the hooks that you're using right now? What access does Rockbot have for your info?

Speaker 3:Mostly it has access, at least read access to all my emails.

Speaker 1:Right. But only read access.

Speaker 3:It has write access to its own email account. Right. It has read access and write access to all my calendars so it can schedule meetings for me. And it has read and. read access to all my contacts, and I think write access to one contact provider.

Speaker 2:It could, in theory, send an email to all of your contacts.

Speaker 3:It could, although it would be sending it from itself. Yeah, right.

Speaker 2:But it could still spam your friends.

Speaker 3:It could spam my friends. Interestingly enough, I've had a hard time convincing it to send emails. It's like, are you sure? You sure you don't want to send this email? I'm just an agent. But part of that is, and this concept I took, I think, largely from Anthropic, but it has a soul document that is in the context all the time, and then various directives, and then a personality document that get loaded.

Speaker 1:Did you say soul like S-O-U-L?

Speaker 3:I did.

Speaker 2:Or S-O-L-E?

Speaker 3:No, S-O-U-L. Yes.

Speaker 1:But you were talking about a fish. How anthropomorphic are we getting here exactly?

Speaker 2:Richard's getting upset now.

Speaker 3:I know.

Speaker 5:A little squirrely.

Speaker 4:No, no.

Speaker 2:He meant the fish, Richard.

Speaker 1:The fish.

Speaker 3:The soul. No, but like– Oh, the Dover feature. You could call it something else if it made you feel better, Richard.

Speaker 1:There you go.

Speaker 3:What is the– what is its core tenants, philosophy, ethics, right. You know, um, and then the directives file.

Speaker 1:If you're going to tell me the software has morals, um, rules are morals are just rules.

Speaker 3:Well, if it's dealing with you in person, they're rules, right?

Speaker 2:Yeah.

Speaker 3:The directives are like, um, you know, how and when to store memories and a whole bunch of more technical stuff. Um, and then the, uh, the style or personality document, uh, is, um, you know, whatever I, I originally, I'm like, Oh, I think I want it to act like a, uh, uh, like it's a gin, um, out of, you know, this, you know, sort of the Dean Sinbad stories or something.

Speaker 1:Yeah. Yeah. Um, I didn't, what is your wish? My master in the end, I.

Speaker 3:Didn't like that. I found it, you know, so, so I actually, it's, um, currently modeled after a type of house spirit in, uh, Japan, uh, What's its name?

Speaker 1:Okay. Oh, its name is Rockbot.

Speaker 2:Oh, you don't have a real name? You don't have an anthropomorphic name for it?

Speaker 3:I don't. No.

Speaker 2:Kelly calls her co-pilot on PC Jedediah.

Speaker 3:Oh, there you go.

Speaker 2:I don't know why. I started naming mine and I went through a couple of things and One was numb nuts, but I thought that was too derogatory and wouldn't keep me from sleeping at night. So then I thought, Hal, and I'm like, what am I, what am I doing? That's dumb.

Speaker 1:Open the pod bay doors, Hal.

Speaker 2:And then, yeah, whatever.

Speaker 1:So I'm appalled, but I'll get over it. Of course you are. I'll tell you this much. I like a little personality. Like I've tried a few different models where they were very dry and, You know, a little quirky behavior and some sidelines that make you grin makes it easier to digest. That's right.

Speaker 3:And that's where I went. I have in some of my testing told it to like be like Bugs Bunny or, you know, and, and that would drive me absolutely insane because it's.

Speaker 1:Yeah. There's certain personalities. That's funny for the first sentence.

Speaker 3:Exactly. Yes.

Speaker 1:By the third, you're like, you can stop that now. Thanks.

Speaker 3:Yep. Yep. If you're going to do it long-term, it needs to be something subtle enough that it's not, does not become an annoyance. That's for sure. Yeah. Yeah.

Speaker 1:True enough.

Speaker 2:So, um, As far as MCP servers, it seems like every application out there that might have an API would have an MCP server.

Speaker 3:Oh, I think it's, yeah. So I've got the calendar one. I'm using somebody else's OneDrive MCP server that lets me gain access to my OneDrive files, or lets Rockbot gain access to my OneDrive files. Let's see, what else? I wrote one for GitHub. even though GitHub has one, I wanted to have a different level of control, you know, again, permissions security. And so I, you know, and it just sits on a lot of these MCP servers sit on top of different existing APIs that are out there. And again, given access to Python scripts, your agent probably can just directly call those APIs using something like curl or equivalence.

Speaker 3:But if you want them to be efficient, you really need to, an API that's written for another application is not the same shape as an API written for an agent.

Speaker 1:Yeah. It's interesting to see this emerging now that we need a different interface for these tools.

Speaker 3:And so, yeah, I basically, you know, I call the to-do list. I wrote an MCP server for the to-do list, which I wouldn't have had to. Rockbot could just keep the to-dos in its own memory. But I wanted my to-do list accessible from Claude as well. And so then putting it in an MCP server, all of a sudden I can get at it from any agent that speaks MCP.

Speaker 1:Right.

Speaker 3:So, right.

Speaker 2:Yeah. And are these MCP servers themselves authenticated? Like, do you have to authenticate yourself to use them? I mean, I was just thinking of the one you were talking about that you give cloud access to and you have access to, but can anybody authenticate have access to that if they had it? Is there any authentication layer there?

Speaker 3:I'm literally this week adding discrete authentication layers to some of them. And the reason being that my wife, I've of course been talking all about this and Teresa's like, well, I want one of those too. And then I'm sitting here thinking, okay, that's a whole, so all of my stuff is running inside of secure and Well, it's running inside of my personal Kubernetes cluster. And then in that, it's running inside of a security context within Kubernetes.

Speaker 1:Right.

Speaker 3:So the answer is that no, nobody else can talk to them because they're all running in a network-restricted namespace in Kubernetes.

Speaker 1:Okay.

Speaker 3:But that doesn't apply in the general. Not everybody has their own Kubernetes cluster. Sure.

Speaker 1:That's what I'm getting at. That's not normal.

Speaker 4:What?

Speaker 3:It is too normal.

Speaker 1:So you're just running in a multi-tenant mode so Teresa is supported or you gave her a separate stack?

Speaker 3:Well, I'm taking this opportunity to give her a separate namespace inside of Kubernetes, but also to add actual security to these.

Speaker 1:Services.

Speaker 3:So especially now with MCP2, there's better support for OAuth. And MCP2 has only been out like three weeks or something, right? Yeah, seven minutes. Yeah, exactly.

Speaker 4:So.

Speaker 3:Prior to this, it was kind of hard to do. And all of a sudden, it's built into the spec. And so it's much more realistic to say, oh, no, no, I'm going to have these things authenticate against Google or Microsoft or whoever.

Speaker 2:Yeah, absolutely.

Speaker 1:It's good stuff.

Speaker 2:So what's on your to-do list besides this authentication stuff? What are your dreams for Rockbot?

Speaker 3:Well, I would like it to talk. I think I've seen some demos where people– are talking to their agents. Um, and obviously, you know, you can talk to a lot of them, um, the, the consumer agents, but I'm like, yeah, it'd be kind of fun to actually be able to talk to it. And so I'm going to, I've started playing with, uh, some of that.

Speaker 2:Make sure that you give it away to, to tell it to shut up. Like if it starts rambling.

Speaker 1:Yeah.

Speaker 3:That does seem important because it can. Yes.

Speaker 1:One of the things in the script to configure this recording space is, uh, before I start recording is to mute all of those devices. Like it's, I had to build in a script because there's so many of them, but yeah, you can literally command them all. It's like you, while, while this mode is on, you're listening to nothing. So it just never pops up in the middle of a recording, but it was just one of those things where I would remember to mute one, but not the other one, that kind of thing. Finally, just like the, The most complicated button in my whole Home Assistant installation is the I want to stream now. And it's a lot of configuring stuff.

Speaker 3:Right. The other big thing that I am working on and have been for a while because it turns out to be fairly tricky. And that is there's another protocol called A to A or agent to agent. And Rockbot does speak that protocol outbound. In other words, it can call and talk to other agents, and it does. I've got a couple other, like a research agent and that council of experts agents. Those are both things where it talks to them using A to A. But I want two rock bots to be able to talk to each other. Interesting.

Speaker 3:Specifically around calendars.

Speaker 4:Right.

Speaker 3:In other words, if all three of us had a rock bot instance running, then I could say, Hey, I would like to get together, you know, with Carl and Richard.

Speaker 1:Yeah.

Speaker 3:And it would coordinate and find a time for all of us.

Speaker 1:Right.

Speaker 2:And I waste, I waste so much time with that, with multiple people trying to find a time to meet or whatever.

Speaker 4:Yeah.

Speaker 1:Right.

Speaker 3:And that turns out though, to be a fraught and complicated thing because of security and identity issues. I mean, the actual dialogue part is fine. That I got working almost instantly. It's the rights part. Like, should I let you see.

Speaker 1:My whole calendar?

Speaker 3:Exactly. Yeah. Yep. And so that I'm still working through because I don't want to open up, you know, my entire calendar to everybody on the planet. That seems bad. Yeah.

Speaker 1:That seems unwise.

Speaker 4:Yes.

Speaker 1:That's cool, man. This is all good stuff, Rocky. Very cool.

Speaker 2:And every time I talk to you about this, I learn something more and it just makes me want to jump in and use it.

Speaker 1:And I probably will soon. This sounds like the norm for us, ultimately. We're all going to have this kind of agent at some point.

Speaker 3:I think so. At work, through Xebia, we've written various corporate agents. It's like, oh yeah, any employee can walk up and talk to the corporate agent and access a lot of resources within a company. And it's one of the more frequent things that we are getting asked to build for our customers.

Speaker 1:Yeah, sure. Now the, the, the definitive to me, this definitive starting agent for a virtual labor company, this is me wearing the run as hat is the, how many more days off do I, how many vacation days do I have left? It's just a really fricking hard question to answer.

Speaker 4:Yeah.

Speaker 3:Yep. Yep. It is.

Speaker 1:But you solve that one reliably. Like you've done something. It's the classic lollipop, right? It's just a little bit of candy you'd get for going, jumping through a ton of hoops.

Speaker 3:Ton of hoops mostly again around identity and security and, and, um, authentication. And, um, but what we haven't done, and, but I think you're right, uh, is that where I do think this is going to go is that at an employee level, people may end up with individualized agents inside the organization because, uh, Yes, a general agent can find your identity and do these things. But until it starts remembering your work patterns and, you know, like when do you generally go to lunch or, you know, I don't know, all sorts of things. It's limited in how much it can actually help any individual person until it has that kind of memory.

Speaker 1:We think of a manager or secretary.

Speaker 2:Overseeing a bunch of employees in a department and each employee has their individual agents and the, you know, the manager has their agent that can talk to all of these through the A2A protocol first, let's say. Now you got something.

Speaker 3:Yes, exactly right.

Speaker 1:Wow. Yeah. We're still trying to make mature enough agents for individuals to use responsibly. I think we're nowhere thinking about how these agents are going to interact.

Speaker 2:Yeah.

Speaker 1:Well, Rocky is.

Speaker 3:That makes me happy. Yeah.

Speaker 1:At least we'll have a geeky answer to the question.

Speaker 3:That's right. Societal implications, that's somebody else's problem.

Speaker 1:Separate issue. Geeky answer first. Consequences second.

Speaker 3:We are the mad scientists.

Speaker 1:That's it.

Speaker 2:All right, Rocky. Thanks again. It's always a pleasure talking to you.

Speaker 3:Likewise. Thank you.

Speaker 2:Very good.

Speaker 1:And we'll talk to.

Speaker 2:You next time on. NET Rocks!. NET Rocks!

Speaker 4:NET Rocks is brought to you by Franklin's Net and produced by Plop 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.com. Visit our website at dotnetrocks.com for RSS feeds, downloads, mobile apps, comments, and access to the full archives going back to show number one, recorded in September 2002. And make sure you check out our sponsors. They keep us in business. Now go write some code.

Speaker 2:See you next time.

Transcript supplied by the publisher with the episode.

Podcast

.NET Rocks!

Carl Franklin and Richard Campbell · Tech & Science · English

.NET Rocks! is an Internet Audio Talk Show for Microsoft .NET Developers.

More from .NET Rocks! All episodes →

  1. 7 Oct 2026 · 55 min

    Critter Stack Update with Jeremy Miller

    The Critter Stack is growing! Carl and Richard talk with Jeremy Miller about the latest Critter Stack updates, including Marten, Wolverine, and more! First up is the stack's expansion with Polecat and Fisher, versions of Marten built for SQL Server 2025 and SQLite, respectively. Jeremy also talks about the evolution of event sourcing and how the framework continues to advance to take advantage of new approaches to managing fast, timely data flows. The conversation also digs into how AI is impacting frameworks, including the continued need for reliable frameworks so you can focus on providing…

  2. 30 Sep 2026 · 53 min

    Controlling your Digital Legacy with Mattias Karlsson

    What happens to your digital assets after you pass away? Carl and Richard talk with Mattias Karlsson about his experience navigating the challenges of losing a friend and having to reorganize their digital assets. There are the immediate issues around access to email, authenticators, and the like, but also the long-term items like GitHub maintainer roles. Mattias talks about looking through your projects and deciding what is actually just for you and can pass with you, as opposed to what others need and value, and what needs a good succession plan. Many products (including GitHub) have…

  3. 16 Sep 2026 · 1 hr 6 min

    Post-Quantum Crypto with Michael Howard

    Whether quantum computers are around the corner or not, the message is clear: the time for post-quantum cryptography is coming fast. Carl and Richard talk to Michael Howard about Microsoft's efforts to make post-quantum cryptography available to everyone by 2029. Howard discusses the quantum computing and cryptography issue, specifically the ability of quantum computers to run Shor's algorithm quickly enough to break RSA encryption. While it isn't possible just yet, the harvest-and-decrypt-later concerns are real. And the solution is pretty straightforward- move to TLS 1.3, and be prepared…

  4. 9 Sep 2026 · 1 hr 5 min

    Numerics.NET with Jeffrey Sax

    So what can numerics do for you? Carl and Richard talk to Jeffrey Sax about his work building Numerics.NET, a collection of general-purpose mathematical and statistical classes built for .NET. Jeffrey explains that numbers in a computer differ from real numbers in the world; for storage and computational efficiency, typical variable types in any programming language have limits on precision and size. How those variables are used can affect the outcome, with potentially disastrous consequences. Numerics.net provides exacting control of precision, as well as complex mathematical functions.…

  5. 2 Sep 2026 · 1 hr

    Constraining Agents for Software Development with Don Demcsak

    How can constraints make software development assistants more efficient? Carl and Richard talk to Don Demcsak about his work on getting LLMs to build higher-quality software with fewer resources. Don talks about how domain-driven language techniques help to define and constrain language around a given application problem space, but that largely hasn't been applied to coding agents so far. And as powerful as domain-driven is, it has challenges when it comes to building applications - and, more importantly, testing them. That's where behavior-driven approaches have advantages, which can also…

  6. 26 Aug 2026 · 1 hr 3 min

    Arguing about AI with Billy Hollis

    Ready for a rant? Carl and Richard talk to Billy Hollis about the impact of artificial intelligence on software development. The conversation starts with a listener comment about going all-in on AI to speed up development radically, which raises the question of how much AI is the right amount. What's safe and what is reckless? And how will that position change over time? Are the problems we're having today just growing pains of the tools, or are they systemic to the technology? Lots to debate!

  7. 20 Aug 2026 · 57 min

    Beside, Inside, and Outside AI with Chad Michel

    What's the best way to interact with an LLM in applications? Carl and Richard talk to Chad Michel about the evolving user interface to large language models. Chad recalls Build 2023, where Technical Fellow Steven Batiche talked about LLMs starting out beside your application (like Copilot), but eventually moving inside, like Claude Cowork. Then Steven suggested that the ultimate destination is outside - a separate interface that then orchestrates across applications. The conversation dives into how development has evolved with these tools, and what other applications could look like in the…

Take it with you

The Melo app keeps playing with the screen off, works in the car and on your watch, wakes you to your station, and browses the whole catalogue offline. Free, no ads, no account.

Get it on Google Play