Episode · .NET Rocks!
Constraining Agents for Software Development with Don Demcsak
2 Sep 2026 · 1 hr
Episode · .NET Rocks!
2 Sep 2026 · 1 hr
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…
Speaker 1:How'd you like to listen to. NET Rocks with no ads? Easy. 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. Hey, and welcome back to. NET Rocks. I'm Carl Franklin.
Speaker 2:And I'm Richard Kaplan.
Speaker 1:Our friend Don XML, I mean, Don Demsack is here.
Speaker 3:Oh, jeez.
Speaker 1:Or is he Don Jason? Are you Don Jason now?
Speaker 4:That's my brother.
Speaker 2:At least he didn't say Don Yammel. God knows. No.
Speaker 5:No.
Speaker 1:This is going to be a good one. This is episode 2018. And as we always do at the top of the show, let's talk about things that happened that year. I get all the depressing ones and Richard gets all the happy ones in space and tech.
Speaker 2:Just have to pick carefully.
Speaker 1:Yeah, I guess so. But, you know, these are important events, right?
Speaker 2:Are they?
Speaker 1:School shootings.
Speaker 2:Are they?
Speaker 1:Robert Mueller's Russia investigation.
Speaker 2:Oh, yeah.
Speaker 5:Well.
Speaker 1:Brett Kavanaugh, Supreme Court confirmation battle.
Speaker 4:Yeah.
Speaker 1:The 2018 midterm elections when the Democrats took over. The Democrats strike back. Did they?
Speaker 5:Okay.
Speaker 1:Well, okay.
Speaker 2:I don't know.
Speaker 1:Trump and Kim Jong-un, still crazy after all these years.
Speaker 4:Nice.
Speaker 1:Still friends.
Speaker 2:I think that was one of the first meetings, wasn't it?
Speaker 4:Yeah, yeah.
Speaker 1:June 12th in Singapore. Jamal Khashoggi, as Trump said, these things happen. He was killed and dissolved in a bathtub of acid.
Speaker 2:Or something.
Speaker 5:Okay. Okay.
Speaker 1:Or something. That's what we think. California wildfires happens every year, but 2018 was particularly bad. The Me Too movement and the Larry Nassar scandal. And just to put a little fine point on it, hurricanes Florence and Michael.
Speaker 3:Right.
Speaker 2:Those are good ones.
Speaker 1:Catastrophic flooding in the Carolinas.
Speaker 2:Yeah.
Speaker 1:And the Florida panhandle. All right, Richard. That's enough.
Speaker 2:Well, it was also, remember that cave rescue in Thailand? Oh, yeah. Those students went in and there was the flash flood. That's when that happened.
Speaker 1:That was a good story.
Speaker 5:It was.
Speaker 2:I mean, one of the rescuers lost their lives trying to save those kids. Right. But they were successful. Do you remember when, I think that's when Elon started going crazy. Yeah. Remember he really wanted to be involved in that. It's like, you're not actually qualified. I'll build a submersible. It's like, A, you don't know how to build a submersible. And B, that's not going to work in a cave either. And then he got really snarky and started calling people pedophiles and things. Yeah. I don't know. It was one of those moments because this is the same year that the Falcon Heavy flies for the first time and Elon put his red Tesla Roadster on top of it as the payload, which was pretty cool.
Speaker 1:I thought that was the cool Elon doing that.
Speaker 2:Yeah. But it's interesting to think that's the same year he goes nuts on this cave rescue thing so i mean things are just getting.
Speaker 1:Weirder and weirder yeah weirdness weirdness abides um also i want to mention aretha franklin and anthony bourdain died in 2018 yeah very sad also paul allen very sad about have you there's a new movie like a documentary about anthony.
Speaker 2:There's an anthony bourdain movie coming out imminently yeah so it hasn't come out yet I think it's just out brand new. Okay.
Speaker 1:Yeah. I want to see that.
Speaker 5:Yeah.
Speaker 1:Also George H.W. Bush and John McCain died. Yeah.
Speaker 2:All right, Richard, save us from this misery. So I mentioned the Falcon heavy flight, which, yeah, that was pretty cool. We ended up doing a geek out about it. I mean, it was just an extraordinary rocket strapping three side by side. Originally he had planned on doing something called asparagus staging, where he was actually going to feed the fuel from the wing of boosters into the center so that when the outer boosters were empty and separated, the center booster would be completely full. Never happened. Instead, they do it the simpler way, which is simply to throttle down the center booster so it doesn't burn as much fuel. That being said, Falcon Heavy, you'd be never real happy with it The simple reason that it has a lot of power, but it doesn't have a lot of payload space. And so there's relatively few cases where it's needed. And he was already talking about what we now know is Starship, uh, and starting to do prototypes around all of that. Uh, we have a lot of cool, uh, satellites up in 2018, starting with tests, the transiting exoplanet survey satellite. So this was the only, the third of the dedicated finding exoplanet
Speaker 2:satellites that the, the successor of Kepler. Kepler had launched back in 2009 and found 2,600 exoplanets. That was Kepler's mission was to do deep surveys to see how common are planets. And the answer is very common. Most stars have planets. TESS as a survey satellite is not designed to observe as closely, but to cover much larger tracks of the sky. And fast forwarding eight years now, it's found over 8,000 potential objects that generally need additional surveying.
Speaker 2:because it is a survey spacecraft. But of those 8,000, almost 1,000 have not been confirmed as exoplanets. So if you're keeping count, we're up around 6,300 confirmed exoplanets so far from all of our different collection methodologies. This is not how Star Trek was supposed to work. Remember in Star Trek, you had to fly to the solar system to see the planets? No, we're going to have a map of all of them long before we can get to any of them. There's a couple of asteroid missions.
Speaker 2:Hayabusa 2 in June got to Rigu. And in December, OSIRIS-REx gets to Bennu, which is cool. We start to explore asteroids sort of on a regular basis. In August, the Parker Solar Probe, the first time we've ever tried to fly a satellite to the sun. to actually do measurements of its outer atmosphere. That's a very difficult thing to do. You have to go really, really fast to do that.
Speaker 1:Remember Richard Pryor's bit, the first man to walk on the sun?
Speaker 4:Ooh, ah, ah, ooh, how?
Speaker 2:So to make the solar probe go fast enough to get that close to the sun, they launched on a Delta IV, which is one of the highest performance rockets ever made. It's largely obsolete now and retired and broke a bunch of speed records to try and get it down there. It'll take a while to actually get close enough and actually start to do sampling of the sun. Also in August was when on the International Space Station, Soyuz MS-09, this is the vehicle that they transport astronauts to and from the space station, which at that time, because the shuttle is no longer flying and Crew Dragon doesn't exist yet, it's still in development, was the only way to get to the station. They find a two millimeter hole in the orbital module of the Soyuz. And there was a lot of controversy about whether it was drilled because it was sort of a perfect hole or was it just that right hole? you know, penetrator that it went through there. Anyway, fixed with a piece of cape on tape.
Speaker 1:Could have been mice.
Speaker 2:You know, and because it was the Orbridge module, it doesn't have to survive re-entry, so it's not that big of a deal. But yeah, it kicked up a lot of speculation. And if that wasn't enough, the very next Soyuz in October, this is Soyuz MS-10, it was only carrying two passengers. Normally, the Soyuz can carry three, but occasionally fly with less. In this case, it had Alexei Ovichin, And, uh, from Roscosmos and Nick Hague from NASA, they were going to be part of the exhibition 57 to the international space station. But two minutes after launch, there was a failure.
Speaker 2:And Soyuz is one of the most reliable, most flown spacecraft of all time.
Speaker 1:Yeah.
Speaker 2:This was one of the very rare failures and it was a failure that had never occurred before. There was something wrong in the sensor of one of the strap-on boosters. There are four strap-on boosters that famously separate from a Soyuz and do what they call the Korolev cross. As they come flying off. And it didn't happen this time. And the one booster hung up. And then when it did break away, it struck the central booster core. And that ended the going into space. As Nick Hague said, as soon as the bouncing around started, I guess we're not going to the space station. But at this point, they're already 50 kilometers up. And that's too high for the escape tower. So it's already been ejected. But there is...
Speaker 2:Mode 2, Ascent Abort, a system that had been tested but never used. And this was the first and only time it's ever been used.
Speaker 1:So they basically turned it around and re-entered?
Speaker 2:It's more complicated than that because you've got an exploding rocket behind you, so you don't want to be near that. So instead of abort motors fire and push the Soyuz assembly away from the booster, and then you have to get into... descent mode because you're carrying the propulsion module as well as descent module and the orbital module so those each have to be pushed off and then it has to switch over to descent mode get the heat shield pointed down and actually land because of the angle of ascent they only get to about 90 kilometers so they spend some time in free fall still going up the explosion happened.
Speaker 1:At 50 dude you should make movies This is great.
Speaker 2:It's crazy.
Speaker 1:It's like I'm on the edge of my seat.
Speaker 2:And they're in free fall, and now they have to reorient, and they do a ballistic return, which means those poor guys pulled about seven Gs as they came back down. Worked perfectly. Both astronauts walked away. The crazy part is realizing from launch at Balkanur to on the ground about 200 kilometers downrange in Kazakhstan, 19 minutes.
Speaker 4:Oh, my God.
Speaker 1:Goodness.
Speaker 2:It was fast and it's all automated. Like basically they were having trouble keeping up with the control systems working through it.
Speaker 1:That's definitely not enough time for a feature film.
Speaker 2:No, it's pretty quick, but I'm sure there's a bit of story to go around it. Anyway, it worked flawlessly. and they would eventually get to space on a different spacecraft because that one weren't no good no more. In November, we have the 20th anniversary of the International Space Station because the Zarya module went up in 1998. We're also fully over into commercial resupply now. So Roscoff's mostly due to five deliveries in 2018. But SpaceX does three on Cargo Dragon. Orbital ATK does three with Cygnus. And JAXA has one HTV delivery. So a total of, what is that, 12.
Speaker 2:And also in November, the InSight lander lands on Mars. First thing to have landed on Mars since Perseverance. And it's doing measurements of Mars quakes and interior mapping of Mars. by looking at reverberations that travel through the planet. And finally, in December, China launches the Chang'e 4 relay satellite in preparation for their landing, putting a lander and rover down on the far side of the moon. They need a satellite to be able to communicate with the far side of the moon. So that goes up in 2018. The big mission will be in 2019. Ready for compute stories?
Speaker 1:Yes.
Speaker 2:And you always think I have to give you all the good news. So let's start off in January with Meltdown Inspector. Okay.
Speaker 1:Okay.
Speaker 2:So these were discovered potential exploits using a speculative execution that exists in both AMD and Intel processors. And there was no security around that. So the theory was that if you did stuff exactly right, you might be able to grab data from another virtual machine that was running through. This exploit has never been found in the wild. Even attempts to try and utilize it have been largely futile. But at the time, they really freaked out. And putting security rules in place caused substantial performance penalties. I think to talk about literally 20% of available compute disappeared to fix spectrum and meltdown.
Speaker 1:Not good.
Speaker 4:Remember that?
Speaker 1:Wow.
Speaker 2:And adding to my, I don't only have good news stories in 2018, Google officially removes their don't be evil from their code of conduct. I mean, they didn't add be evil, but they just took out the don't be. And then in March, uh, The Cambridge Analytica scandal. Oh, yes. Where Cambridge Analytica had mined Facebook data in a way that not even Facebook had thought about and was very effective at doing things like creating ads for individuals where the individual didn't realize they're the only ones seeing the ad.
Speaker 2:A very effective strategy for getting a group of English people to vote against their best interests and exit the EU.
Speaker 1:Now we have Facebook and nobody cares.
Speaker 2:There you go. Yeah.
Speaker 1:Targeted ad.
Speaker 2:And in April, Belgium declares... video game loot box systems to be gambling and illegal for minors, which it is. I don't disagree with them. Interesting problem. Yeah. Don't manipulate children, please. Well, not too heavily. And then in May, the GDPR is enacted. It's been in development for a few years. This is why you have to keep agreeing to cookies as well as a bunch of other things like the right to be forgotten and serious fines for not being forthright with breaches.
Speaker 5:Yeah.
Speaker 2:Um, over on the Microsoft side of things, it may, we have build 2018, which ships.net core 2.1. But also, and I realized this in hindsight, when I was putting this together is sort of the first wave of AI stuff. Remember visual studio and telecode? I think we did a show on it.
Speaker 4:Yeah. Yeah.
Speaker 3:Yeah.
Speaker 2:Where it wasn't an, you know, we're really talking about having, helping to generate code for testing and things. It's also the year they ship ml.net machine learning.net for, for doing models that way.
Speaker 5:Right.
Speaker 2:And certainly last but not least, for the build announcements, one of the ones that I jumped over was Azure Sphere. Do you remember this? This is when Microsoft starts building their own flavor of a Linux operating system for IoT. It's subsequently been phased out now, but for a few years here, it's like, Microsoft makes their own Linux. I love that.
Speaker 5:Mm-hmm.
Speaker 2:Later in the year, in October, well, actually it was announced in June, but completed in October, Microsoft acquires GitHub for $ 7. 5 billion. And our friend, Nat Friedman, formerly of Xamarin, now a Microsoft employee, becomes the new CEO of GitHub. We get Core 2.2 at the end of the year in December. Yeah.
Speaker 4:A couple other compute stories.
Speaker 2:This is the year that Elon Musk attempts to take over OpenAI from his partners and gets booted out of it. And he's still angry about that and purse fights with Sam Altman on regular basis.
Speaker 1:Yeah, because... That's where he is right now.
Speaker 2:Because reasons, because I realized all the same, the same year that he flies the biggest rocket in history into space and puts a sports car into space, which still orbiting, you know, between the earth and Mars also, you know, call some guy trying to save children in Thailand, a pedophile, uh, also tries to hijack the AI company. Yeah. Uh, We're coming into the period of excitement as we're going through these next few years in quantum computing. And in 2018, there was a very important paper published, the NISC paper, which means Noisy Intermediate Scale Quantum, this paper by John Preskill.
Speaker 2:This is the point where companies are starting to build qubits, build these chandelier dipped in liquid helium style computers that have about 50 qubits or so forth. And in this paper, he talks about it's all going to be about error correction. that we're getting out of the lab. These things are going to be able to do certain levels of compute, but without really fault tolerance in this, you're not going to be able to get much done. And that sets up Google, who's driving a lot of this stuff with their quantum toolkit, aimed at researchers for testing what prototype hardware could do, which is funny because next year they'll actually produce the second market process. So obviously Google was anticipated.
Speaker 2:And that's what I got.
Speaker 4:All right.
Speaker 1:Well, before we bring Don on, let's talk about Better Know Framework. Roll the music.
Speaker 5:Awesome.
Speaker 3:All right, man.
Speaker 1:What do you got? Guess who's back in Better Know Framework?
Speaker 2:I think I know. He's Australian. It's Simon.
Speaker 4:It's Simon.
Speaker 1:So he belongs to our Appfee Next Slack channel. And he basically knew that I had done some work into looking into serializing link queries and passing them from client to server and pretty much gave up. And there was a whole smattering of GitHub repos out there of people who attempted it. And I tried like 50% of them and they all failed. And so he came up with this thing called SCRY, S-C-R-Y, or maybe it's SCARY. I don't know.
Speaker 2:Or Scree.
Speaker 1:Or Scree?
Speaker 4:Yeah.
Speaker 1:He doesn't have a pronunciation legend, but he says it's a type-safe serializable link from a client to a server side EF core model. And I had told him, and both Mateus Carvalho and I had worked on this before, and Mateus came up with something, and I came up with something, AVN repository, that basically tells Did the same, but I used classes and serialized those classes for filtering and basically all aspects of a SQL query, a link query, right?
Speaker 1:A where, an order by, all of that stuff just turned into data and passed in.
Speaker 2:And it works.
Speaker 1:But as Simon pointed out, it's not as efficient as what he's doing. Yeah. So this is, and he has a, there's two links. We're going to give you a link to the scary or the scry or scree project. And then there's this doc querying MD composing a query at runtime. And so he just talks about how to do that, how to create projections and computer projection members. It's really cool. And, and it works interesting.
Speaker 2:And so, yeah.
Speaker 1:And, and so, yeah. Um, Simon, you win the prize.
Speaker 2:You're awesome.
Speaker 1:You're the first person I know who has actually done this. And maybe I just resigned and said, I can't be done. And maybe it was done, you know, long before that.
Speaker 2:I don't know.
Speaker 4:But that reminds me of link to rest.
Speaker 1:Oh, link to rest. Well, that sounds exactly like what I was doing.
Speaker 2:Yeah. Yeah.
Speaker 4:Because it was the inverse.
Speaker 3:Right.
Speaker 4:Where you, well, you created from a link query, you could create a query string.
Speaker 3:Right.
Speaker 1:But you couldn't put it back on the other side and turn it into a link query, which is, which is what he's doing. And what I wanted to do as well, right? Because you've got a form and it's got a whole bunch of search parameters. And if your data is local, great link query.
Speaker 4:Well, no, so it did it the other way too.
Speaker 1:If it's behind an API.
Speaker 4:Link to REST, it would, it was an ASP.NET. It was NBC, ASP.NET. It would, take that query string and then turn it into a link.
Speaker 1:Oh, okay. Well, that's great. Link to rest, rest to link. Okay. Well, check out scary or scree or scry or whatever it is. And ask Simon how to pronounce this thing.
Speaker 2:Cause I don't know.
Speaker 4:I'm sure there's a difference, but yeah.
Speaker 5:Right.
Speaker 4:I just remember link to rest.
Speaker 1:Well, Richard, who's talking to us today?
Speaker 2:Grabbed a comment off show 1994, the one we did with our friend Brady Gaster, talking about Squad. A lot of good comments on that show.
Speaker 3:Yeah.
Speaker 2:And this one comes from Paula Pinto, who says, while interesting as always, the whole Squad enthusiasm was pretty much focused on single developer workflow. Now not having to depend on anyone else to do related development tasks. It was all about their nicknamed agents without any ethical discussion of what tooling like Squad will have in developer teams. I've already observed how teams have been downsized. Thank the SaaS products for placing the need for backend developers, AI tooling doing the work of team members that used to do translations or asset creations for CMS platforms. Now we get tools like Squad reducing even further the amount of humans in the loop, getting celebrated for what a single developer could choose while taking into account the repercussions it has on those that are deemed no longer needed to be kept around as employees.
Speaker 1:Unless you didn't have a team to begin with.
Speaker 2:In a late capitalism-driven society, if $ 5 can do what... work of 20 developers thanks to tooling like squad the remaining 15 are out of the company like an old detroit they will need to find work that isn't yet taken.
Speaker 1:By ai unless you didn't start with a team yeah you were always one guy.
Speaker 2:But i also think it's kind of a short-sighted mindset too because i'm seeing more nobody team's not getting laid out but just working on the other stuff they hadn't gotten to like the joke for years was none of us would get to the bottom of our to-do list And now we're getting through the feature lists and starting to get into tech debt. And then other features start to appear. It's only the shortest-sighted of companies that would work on one thing and not think, what are the other things we could do? You've got a group of people who are now more powerful. Utilize them.
Speaker 1:You take all those people on the team, give them all a unique task, give them their AI tools. And set them free. And before you know it, you're through all of those things.
Speaker 5:Yeah.
Speaker 1:Technical debt's a big one.
Speaker 2:I also think there is a larger conversation about what the shape of teams looks like with these tools going forward. Right. We're still in early days.
Speaker 4:I've been running into folks who, in the startup community, are saying they don't need developers anymore.
Speaker 2:Yeah. That doesn't seem true.
Speaker 4:Somebody I ran into, he just came back from two weeks of a startup incubator, and he was saying, Of the 20 or so startups there, none of them had developers.
Speaker 3:Yeah.
Speaker 4:Right.
Speaker 1:That's easy to understand.
Speaker 2:Sure. All right, Paulo. Thank you so much for your comment. And a copy of Music Code Buy is on its way to you. And if you'd like a copy of Music Code Buy, write a comment on the website at. netronics. 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.
Speaker 1:Or you could just go to musictocodebuy.net and get it yourself. MP3, WAV, and FLAC formats. Go ahead. You know you want it. All right, let's bring on Don Demsack. Don is a technology leader dedicated to strengthening the tech ecosystem in Central Pennsylvania and beyond. His day job is with a major technology company's infrastructure group where he helps CIOs and CTOs think like COOs. His nights and weekends go to volunteering as a board member of the Technology Council of Central PA and as an active member of Tech Lancaster. You can find his latest ramblings over on Substack. This is his fourth trip to. NET Rocks and the first in almost 20 years.
Speaker 2:It's been too long.
Speaker 1:Dude, I remember your first episode. It was during the Rory years. So it's episode 62. Rory years were 50 to 100. And he somehow convinced you to come up to the studio. And you were there in the studio for us, with us.
Speaker 4:Yep. And you remember.
Speaker 1:Richard Roy used to do the Google weirdos thing.
Speaker 5:Right.
Speaker 1:So just for people who don't remember, he would look, he had a blog, popular blog, neopolian.com. And it was hysterical and very, very surreal. And he took it down because he, he wanted to be taken more seriously as a developer and everybody just wanted comic relief, but he was very funny. Anyway, he would look at the logs and, of what people typed into Google and then landed themselves on his blog, right? He could tell that it came from Google and the string is in the log, right?
Speaker 4:The URL.
Speaker 1:And so he would read these and they were just crazy, what people were looking for. But one of them, and I remember this specifically, Don, tell Don XML to come home and take out the garbage.
Speaker 4:You just made my wife's week. That is exactly. Make sure Carl brings that up.
Speaker 1:Oh, well, how could we not?
Speaker 2:I mean, it's crazy.
Speaker 1:But yeah, you used to be Don XML. And then I think by your third episode, which was 271, it was Don Demsack on Link to XML.
Speaker 4:Yeah. And who did the session before Mike? Do you remember?
Speaker 2:Uh, two 70 to 70.
Speaker 1:Let's see. I got the list right here.
Speaker 2:It's funny. It's all online. That's weird.
Speaker 4:Yes, it is. I can tell you.
Speaker 1:No, I got it right here. It was Eric Meyer, Eric Meyer.
Speaker 2:Oh, why the Eric Meyer on link on link? Yeah. The guy who helped create it.
Speaker 1:Something he knows a little thing about.
Speaker 3:Yeah.
Speaker 4:Just a little. Um, if you haven't, he, or, uh, been paying attention to him, uh, He recently has a video up on YouTube of a presentation.
Speaker 2:AI.
Speaker 4:Engineering, around how AI agents got teeth once we allowed them to do more than just chat when he gave them access to tools. And he throws out a whole theory of how we can lock down AI agents by making them do... mathematical proofs that the stuff that they're doing won't negatively impact something. It is an awesome video.
Speaker 1:Yeah, we need more of that. Absolutely.
Speaker 4:100%.
Speaker 1:I saw an article that you wrote on LinkedIn, which was also on your sub stack. Everything that I've seen from you has been thought-provoking, but this was about the new MCP 2.0 and how you can't make a stateful MCP server anymore if you're using 2.0. And so, yeah, we talked about that. I talked about that with Rocky on Code with AI. And Richard found your substack and found some good stuff that you're thinking of and talking about. And here you are.
Speaker 4:Yeah, it ties right back to what Eric is talking about. It was funny because I've been working on this for a bit. But this whole idea of how do we govern these agents better?
Speaker 2:Right. Sure.
Speaker 4:Everybody. Now, for the last two years, people have been really complaining about governance. But the big thing everybody now is complaining about is tokenomics.
Speaker 1:Tokenomics.
Speaker 4:That's the big thing that everybody is looking because now there's a cost per token.
Speaker 2:Right.
Speaker 4:Well, those two things are kind of related. about two years ago, just over two years ago, through my day job, I got to see a demo of some agentic AI. And the demo that they created was really thought-provoking because it didn't just show what the agents were working on, but it actually, at the bottom of it, showed the conversations the agents were actually having with each other. And I was like, wow, that looks like a Teams or a Slack conversation. But I'd never thought of agentic AI in that way. We're software developers. We think about APIs, application programming interfaces. Now there's this whole idea of a natural language interface.
Speaker 2:Or semi-natural, like The way those tools talk to each other is not that normal, but I get what you're saying. It is English of a sort.
Speaker 4:And that, that was the thing that jumped out at me was it was too generic in a team's chat. You expect a lot of three letter acronyms and very specific words. for each of the roles that are there. Think about chat between a DBA, a front end developer and a middle and a mid tier developer, all the conversations, all the acronyms that they wind up using.
Speaker 2:Yeah.
Speaker 4:That was lacking.
Speaker 2:It speaks to a lack of common context between the agents.
Speaker 4:And that's where my head was going was how do I, that, that seems to be missing. Um, and as you guys know, and you've got, you guys had a bunch of over the years, especially recently, domain-driven design type folks. I was like, there's no ubiquitous language.
Speaker 5:Right.
Speaker 4:What if we made these agents speak the ubiquitous language of the domain that they're in charge of?
Speaker 2:Right.
Speaker 4:That would be super cool.
Speaker 2:And really what you're doing is bracketing their context, right? That they need to use the correct language.
Speaker 4:Correct. And by doing that, there's side effects, lots of good side effects. If you can constrain them or control their language, I'm calling it a controlled natural language. Um, then they can only do what they can express.
Speaker 5:Yeah.
Speaker 2:And it's another kind of constraint.
Speaker 4:Think about the open AI hacking of hugging face.
Speaker 5:Right.
Speaker 4:Where it had access via MCP to a tool. figured out how to do something that wasn't desired by that tool. But if we had a natural, a constrained or controlled natural language in front of that, then they wouldn't be able to ask the things that they shouldn't be able to do.
Speaker 2:Yeah.
Speaker 4:So that's, and so the term, these are patterns that I, I'm using for this is instead of bounded context, domain-driven design, how about bounded agency? So how do we build walls around what the domain that that particular agent can do, not via just security, but actually ways to express it? If they don't have the language to express it, they can't do it.
Speaker 3:Right.
Speaker 1:So if you're adding another layer... Doesn't, uh, doesn't that affect your tokenomics?
Speaker 4:That's the other side is now you can actually decrease the, um, the, the verbiage that's going across. Um, and one of the major challenges with a natural language as us as humans is there's a lots of different ways to say the exact same thing, which leads to ambiguity. Right. And there's, and, By constraining it or controlling that language, you actually reduce the actual word count, which you're going to reduce the tokens. But then you're also decreasing your ambiguity, too, because you can only say it a certain way.
Speaker 1:Well, aren't you using tokens for that intermediate layer that does the translation?
Speaker 4:So originally, that's where I was thinking. But then I take it one step further.
Speaker 5:If I.
Speaker 4:can control the language, and so I can control the syntax. And this goes back to stuff that you guys know me from, XML. What did I do with XML? I created domain-specific languages. What did you do with JSON? Create domain-specific languages. What do we do with Fluent APIs and LINQ? We created the Fluent APIs and other languages within code. Well, with all the stuff that's been going on with chat GPT and natural language processing and stuff that we were doing with, with link back in the day. What if I could put a intent compiler in front of the tool that then parses that text because it's a constrained natural language. And instead of feeding everything to the model, what if I if I knew what words mapped to specific functions, I could actually call those functions instead of having to pass it through to the agent who would eventually pass it through to an MCP server somewhere to actually call the tool. So now I've actually reduced, dramatically reduced how much is actually going to the models because I'm pulling some pieces of that.
Speaker 1:From this static glossary kind of thing. But, And I imagine that the best of both worlds would be if the word doesn't exist in the glossary and it can't express it in a more concise way, then it would go out and get definitions for those words and add them to the domain.
Speaker 4:So you, you, you really want to control that language so that you're controlling what it can do.
Speaker 1:Right.
Speaker 4:So you would prefer, uh, to keep to, uh, to programmatically add the new languages. Don't let it do it on its own.
Speaker 1:Well, at least it could make you a list.
Speaker 4:A list of it.
Speaker 1:Yeah, a list of things that it didn't understand or whatever.
Speaker 4:Correct. And you can publish that language. And that's one of the things that models are great at, converting from one language to another language.
Speaker 2:Right.
Speaker 4:So if you have a way to declare that controlled natural language, it can convert it automatically.
Speaker 1:Yeah, that's right. I could see repos for all sorts of vertical industries, uh, DSLs in used in that way to, to rein in your LLMs and your tokenomics.
Speaker 4:I make it a heck of a lot easier for that. And so, um, so I actually built, uh, uh, uh, I built a couple of different things based on that, but I actually have a, uh, MVP that you can go pull down from GitHub. It's called Limelight X. Well, Rush is out this year, right?
Speaker 2:Doing the tour.
Speaker 4:So Rush fan had to pull that in. So Limelight X. And so you go there, you can actually go see how to do this. So you can give it the natural language, the constrained natural language. give it a text and it will actually give you the intermediate steps so you can visualize it. So how do you parse that apart to an AST? How do you take that AST and optimize it? Then you take that AST and turn it into intermediate result, which then gets put into an expression tree a la link. How do you do that?
Speaker 4:Because what I've found is, Most people doing AI engineering, AI agents, they don't come from our comp sci background. Right. They come from the dynamic language.
Speaker 2:Side of the house.
Speaker 4:They're Python and JavaScript type script. So parsing and compiler theory type stuff is not something that sits in their domain. While you can do some of that stuff with those languages, you don't typically do it. So they're not thinking that way. So how do I get best of both worlds? That's part of the challenge.
Speaker 1:Before we go any further, I think we should take a little break. You think so, Richard?
Speaker 2:Sure, let's do it.
Speaker 1:All right, we'll be right back after these very important messages. Hey, Carl here. You probably know text control is a powerful library for document editing and PDF generation. But did you know they're also a strong supporter of the developer community? It's part of their mission to build and support a strong developer community by being present, listening to users, and sharing knowledge at conferences across Europe and the United States. So if you're heading to a conference soon, check if Text Control will be there and stop by to say hi.
Speaker 1:You can find their full conference calendar at www.textcontrol.com. And make sure you thank them for supporting. NET Rocks.
Speaker 2:And we're back. It's.
Speaker 3:NET Rocks.
Speaker 2:I'm Richard Campbell. That's Carl Franklin.
Speaker 4:Hey.
Speaker 2:Talking to our friend Don Demsack a bit about, well, you just brought up Limelight X as a way to sort of create a natural language-like set of instructions, which, I mean, in some ways reminds me of the way we write specs anyway. Software development is somewhat language. I mean, you have the programming language is a constraint. But if you also notice, the average product manager speaks in a somewhat constrained language. They're trying to communicate with developers, and developers speak a weird form of English.
Speaker 1:Dilbert proved that.
Speaker 2:They're really trying to just be very clear on what the intent is, and I think it serves the LLMs pretty well to stick with that same kind of language barrier.
Speaker 1:100%.
Speaker 4:And then domain-driven design never took off.
Speaker 2:Yeah.
Speaker 4:We all know it works, but one of the side effects of implementing it is you needed to have a subject matter expert who can pull that the main logic out of that, those communications that was very specialized.
Speaker 2:Yeah.
Speaker 4:Well, nowadays with coding assistance and the spec driven development world, we are starting to put that context into text documents that obviously we could use models to start pulling out that domain-specific language from the specifications.
Speaker 1:I would even go one step further and say we're heading towards, if we're not there already, just not thinking of it, conversation-based development. In this last episode that I did with Rocky Latka, he talked about how he and three other guys sat down to design a system He whipped out his Android phone, started recording. It made a transcript. He uploaded that transcript to Claude and said, build me a spec based on this conversation. Whoa. I mean, talk about layers, right?
Speaker 2:Using the tool as the preprocessor.
Speaker 1:Yeah.
Speaker 4:It's an interesting space that we're in because that's been the art of being a developer is has been really taking these vague requirements and then converting it into code. What was my favorite, what's the number one thing whenever I would build something, the business person would typically turn around and say, I know that's what I asked for, but that's not what I wanted.
Speaker 2:Yeah, right.
Speaker 4:Because humans are really, really, really bad at giving requirements. Weird.
Speaker 2:Yeah. And in some ways, like you want the domain expert because they know the space, but they often skip over. essential parts because they're so knowledgeable in the space. They don't even realize what they know.
Speaker 4:Yeah. And that's, I mean, because Rocky's been around, he knows what he needs to put into that. And so how do you teach that to these new wave of, uh, coding engineers that are using coding assistants to do that. Well, we could teach them better requirement skills. And that's one of the things I started doing a couple of years ago in prompt engineering was a big rage two years ago. And now it's context engineering. But when I explain it to the average person, what a prompt is, I tell them it's a requirement. Think of it as giving it a requirement to another human.
Speaker 5:Right.
Speaker 4:Got to put in all that extra context. And then because of my agile background, I like to use given when then, so that as measured by. And then I would teach people to write their prompts in that structured form and they get better results out of the engine because you're giving it all the context that you would need.
Speaker 1:Yeah. That's brilliant.
Speaker 4:And so that's, And so that's the same problem that I'm running into with the spec-driven development is while they have great structure for the documents, how do you build the tests? Right. What you really kind of need to be able to do is create, given when then type scenarios, do more behavior-driven development. So testing for behavior that's expected or not expected. rather than writing generic tests.
Speaker 2:You're right. Domain-driven development is great at defining what we'd like it to do, but behavior-driven development is much better at defining what it actually does and if that's what we really wanted to do.
Speaker 4:And then if you could take that, those behavior-driven tests, now you can also use that to drive the controlled natural language because you're expressing the behaviors that you're looking for.
Speaker 2:And so.
Speaker 4:Besides Limelight X, I have a project called VectorRen, V-E-C-T-O-R, my SVG days, Ren, R-E-N, so two R's. And it was built with that in mind to show developers how to build an SVG game, a web-based with JavaScript, with generic JavaScript, no framework. And so what was the, you guys remember, what the big game was when we were trying to do demo SVG back in the day, it was asteroids. Right.
Speaker 1:Oh yeah. So that's right.
Speaker 4:There is in half an hour using this methodology, I describe what the game should do and given one then, and it generated a simple implementation of asteroids. And you can go to vector ren.org or go to vector ren, uh, the GitHub page, uh, out there and you can pull it down. And it's a very simple way to learn JavaScript from this point of view, without any of the frameworks, something simple that, that, that people can actually leverage, uh, because we have this generation of developers who don't have the traditional comp side background.
Speaker 2:Right.
Speaker 5:Yeah.
Speaker 2:I'm just thinking about, we're revising this. We've been playing with what the software development life cycle with these tools is supposed to look like. And, and I'll, I think there's a lot more energy put into the context up front just because the tools will generate lots and lots of code. It's just most of it is not that good if you haven't really done a good job of setting up these constraints.
Speaker 4:I've been doing a lot of stuff with AI here in Central Pennsylvania. One of the interesting feedback I'm getting from non-traditional developers is we don't care.
Speaker 2:Yeah.
Speaker 4:It gets the job done, and that's all.
Speaker 5:I care about.
Speaker 2:You're going to care.
Speaker 4:I hit up one of the folks I was talking about. I was talking about, hey, you're just creating dynamic scripts. This feels a lot like what JavaScript felt like before jQuery, before we got V8, before we got TypeScript. We're sending around.
Speaker 2:Yeah, before we put constraints around for reliability.
Speaker 4:And consistency. So, and I was like, you know, from a tokenomics point of view, every time you send that text, you're getting charged for it. Yeah. And so there's a cost because I don't care. It's cheaper for me to do that than to spend the time to actually write the compiled code.
Speaker 2:For now, anyway, the costs are going up. But often the folks don't care because they don't know the consequences.
Speaker 4:They don't know good engineering principles.
Speaker 2:Yeah, they don't know how the software will bite them later. It's generally what works right now.
Speaker 4:And what I'm seeing is a lot of the vibe coders realizing that they can only go so far of vibe coding, and then they start going to coding assistants, but then they don't know how to create these good engineering principles. And so I think there's a big market for that.
Speaker 2:So the AKA they're starting to care.
Speaker 4:And it makes me sad because as a VB guy, old school VB guy, isn't that what the C plus plus people complained about us about?
Speaker 2:Yep.
Speaker 4:Yeah, we weren't real developers.
Speaker 2:Well, Yeah, and again, the argument was, is the software quality sufficient? And let's face it, we built a lot of bad quality software, and then we learned, hey, software quality matters. And you could do it with VB, you just had to follow some good practices.
Speaker 1:I think a lot of that nose turning down at VB developers was a byproduct of what happened between C developers and basic developers in the very early days of programming. Basic with go-tos was looked at as horrible. I was using Visual Basic and then attending a community college and the computer science lady, I told her that I was using Visual Basic. She goes, oh, basic. Oh, you can't say basic.
Speaker 4:No go-tos, no go-tos.
Speaker 1:I'm like, no, it's completely changed now. You know, it's come into its own and they still just, you know, you get an idea in your mind and it's hard to shake.
Speaker 4:And I don't want to be that Get off my lawn guy. Yeah, right. And I don't want to be that old guy.
Speaker 1:Nobody does.
Speaker 4:I've got the gray hair, fine. But I don't want to be that guy. Same thing with coding assistants. What I've been talking about to a lot of folks is coding assistants is the new IDE. I remember back when we were talking, you know, Vim was it. You didn't use Studio.
Speaker 3:Right.
Speaker 4:IntelliSense. Coding is novel. You had to know it and remember it in your head and use a text editor. Real developers use text editors.
Speaker 1:I think it took Don Box a long time to come to grips with the fact that people are going to use IDEs, not them.
Speaker 4:It would be interesting to get his opinion on coding.
Speaker 2:You see those positions all over the place. I think you're making a mistake as soon as you're bound to a tool. In the end, the goal was to deliver value to customers.
Speaker 4:And then there's this whole, and this ties into Run As Radio, then there's this whole angle from the IT admin side of the house where IT admins were doing automation, but they were doing it via a GUI tool because IT admins didn't write code.
Speaker 3:Right.
Speaker 4:That was for the developer world.
Speaker 1:Right.
Speaker 4:In my day job, what I'm starting to see is more and more IT admins admins leveraging coding assistance to actually create better code than they could ever written because all they ever wrote scripts. This is much better code and it's making their lives a heck of a lot easier. So that's just, I mean, that's an unintended consequence, but it's helping, especially in these days when so many companies, so many on-prem companies who are using VMware and now they're kind of A little bit of a backlash. They're all trying to move off, and now they're more open to how do I do this automation rather than using a tool.
Speaker 1:One quick correction. I think I misspoke. When I was in a community college, it wasn't VB. It was Quick Basic. Quick Basic. Quick Basic was compiled, and it was structured, and it was great back then. And this computer science person was like, no go-tos.
Speaker 5:Don't say it.
Speaker 2:Well, and it's the thing, there's nothing wrong with the language. It just had a construct that was a problem. Hey, remember option explicit? Like we did learn.
Speaker 3:Sure.
Speaker 1:On error, resume next.
Speaker 2:Yeah.
Speaker 1:I don't have any bugs.
Speaker 2:What?
Speaker 5:Yeah.
Speaker 4:So one of the things that I've been starting to work with is how do I start creating skills to be able to help teach these non-developers these good habits? So like one of the things, That's in a beta right now is a requirements interrogator skill. So help the average person create that given when then brief so that they get better requirements when they're trying to build something.
Speaker 2:Yeah, you have to wonder if we're not going to end up with more opinionated agents that are like, I can't start building this until I have these broader requirements settled around those kinds of constraints that are going to matter for security and architecture and reliability and scalability. all of the abilities that everyone doesn't care about until they care about them.
Speaker 3:Yeah.
Speaker 4:One of them I'm playing with right now is, is creating a skill to create architectural decision records.
Speaker 5:Right.
Speaker 4:We've never, I mean, we all always wanted to have them, but now if I'm using a coding assistant, that helps make my coding system better. It tells the architecture and the reasons why we picked certain things.
Speaker 2:Yeah. There's lots to all of that. I mean, again, I feel like we're just groping around right now trying to figure out.
Speaker 4:It's early days.
Speaker 2:What are the, yeah, the tools are shifting. Just remember, we were trying to develop on. NET in the early days where every time they got a build out, the editor changed, the framework had changed, and the language had changed. Everything you're doing, incorrect. Yeah.
Speaker 4:I was part of that early days. I don't even remember if I ever mentioned it to you guys, but the framework The client that I had back in 99, 2000, their president was on the board for Microsoft, and I was building dashboards for him, and I got introduced to Project Cool.
Speaker 2:Before it was announced. Before it became C Sharp?
Speaker 4:Yeah, before 2000, the announcement at PDC 2000.
Speaker 3:Yeah.
Speaker 2:I think it was actually TechEd, but yeah.
Speaker 5:TechEd.
Speaker 4:Yeah, it was TechEd. That's where I'm at.
Speaker 2:But yeah, but I'm also thinking about the craziness that was. NET Core in, you know, 2018 or 2016. Because it took them 18 months to get that first version built and there were so many previews. And every time you got a preview, everything shuffled on you. And it just seems an awful lot like trying to work with Anthropica or OpenAI or any of these tools right now, where every time you get A new build, new harness, like there's so many different components that presuming it works the same way is crazy. It changes. It changes a lot.
Speaker 1:And just like with. NET Core, Richard, I think that there's still a lot of people not dipping their toes into AI developer-wise for the very same reason.
Speaker 4:So have you guys had anybody on for Microsoft Foundry Local? Not yet.
Speaker 2:Not yet. No, it's on my radar.
Speaker 4:I've been intimate with that. So that's part of what the bounded context. Part of what I realized is to use these smaller models, you had to be very prescriptive in the prompts that you were giving.
Speaker 2:Right, right.
Speaker 4:And when I started writing the code, I didn't want to put that code as text into my program. I wanted to pull it out. And so I created a YAML language that did essentially prompt as a function so that you could import it in and create it. And there's a couple different prompt as a function frameworks out there. BAML is one and DPSY, another where it makes it easy to put prompts into your programming languages. The Dipsy is Python only. BAML is TypeScript and Python. And so I built a framework to be able to do that because I was trying to run local models. I was running local models on what I'm using now, Copilot Plus PC.
Speaker 4:The Copilot Plus PCs were supposed to be the place to be able to run these models. It's just not. Not as good as it could have been.
Speaker 2:At 40 tops, that's not a lot. Meantime, I'm looking at my RTX 5080 at 1,500 tops and saying, why aren't I a co-pilot PC?
Speaker 4:So I am super excited for the new RTX Spark laptops. I'll be the first to go buy one of them when they come out.
Speaker 2:They're actually going to be a laptop, because right now it's a NUC.
Speaker 4:Well, the big difference is the DGX Spark, Right. That's the one you're thinking is the RTX Spark. Two separate things. The DGX is Linux.
Speaker 3:Right.
Speaker 4:The RTX laptop, which is, that was, it was a nook. The RTX is a laptop. It is going to run Windows on ARM.
Speaker 2:Right.
Speaker 4:So it's, you could think of it as the Uber Co-Pilot Plus piece.
Speaker 2:Possibly, yeah. It'll be interesting. It's one of the things I've seen over and over again with the DGX Spark, but folks are actually using it is, You end up running NVIDIA's models because they're so much better optimized for their hardware that you just get vastly better responses or results. So it's not a universal anything. Where is our ODBC so that you really have some equanimity across all of these different products? and can really see what all the different hardware solutions can be there. I hate that we're building dedicated to hardware solutions, but I get it.
Speaker 4:Part of why I created that prompt as a function to make it portable, to describe what's the model, what's the, am I using VLR? Am I using Foundry Local? What's the model? So I can abstract that away so you don't have to worry about it and be able to switch it in and out. And so I've got a framework for that and I'm, I hit my limit with the Copilot Plus PC and I'm waiting for these new ones to come out. But that's a whole different conversation because there's so many people, so many clients and customers I talk to that can't use public models.
Speaker 5:Right, right.
Speaker 2:There's whole classes of work that are just not an option to be going, leaving your machine in any way. Combined with tokens are only getting more expensive and all you can eat is disappearing and The methodologies we've been using with the sort of adversarial agent model are just mo tokens.
Speaker 4:And smaller models hallucinate less. Right.
Speaker 2:They are more bound.
Speaker 4:And then you bound it by a language, a constrained language, a controlled language, and you can reduce it even worse. That's kind of where I'm going with this. Still early days. I do a lot of Foundry local type stuff, running to issues, report bugs. There's a whole Viber community. Folks who are interested in getting into dipping their toe in how do I inject AI LLMs, highly recommend checking it out. It's an easy install. And there's a command line tool that you can use just to get started to have a chat. Have some fun. And then they've got some great SDKs, whatever language you want to use from.
Speaker 2:NET to Rust.
Speaker 1:It's out there.
Speaker 4:I highly recommend it.
Speaker 1:This is good stuff, Don.
Speaker 5:Excellent.
Speaker 2:And it got me thinking.
Speaker 1:Yeah, definitely got us thinking. Where can we find you online besides your Substack?
Speaker 4:My Substack and LinkedIn. I do both. LinkedIn, it's marketing hell right now. People are all complaining. Um, it's not where the developers are. Right. And Substack, I tried Reddit. I tried, uh, various Discord servers. Um, my local Lancaster folks have a great Slack team. So I'm there, Tech Lancaster. Those folks are awesome. But Substack feels like the blogging from the old days. It's, it's, it's a good community there.
Speaker 1:So in the Lancaster area, do you find that there are many Amish developers there?
Speaker 4:There are some that you'd be surprised.
Speaker 3:Wow.
Speaker 4:You'd be surprised. And I wrote up a whole article on, because I'm new to the area, Lancaster feels to me like Portland, Oregon 20 years ago. They like that weird, let's be weird attitude.
Speaker 2:Right.
Speaker 4:They like the back to nature, had the farming, all that sort of stuff.
Speaker 2:Yeah.
Speaker 3:But.
Speaker 4:They also like the tech side and there's two massive data centers coming in. Coral Reeve is the big AI company is putting a big data center and Google's putting a big data center in there. So there's a lot of innovation going on in that Amish community. It's an interesting time.
Speaker 1:Yeah.
Speaker 4:Most people don't think of it that way, but land is a heck of a lot cheaper. They can't build any more data centers in, um, Northern Virginia. So they're moving north into central PA and south into Richmond.
Speaker 5:Okay.
Speaker 1:Well, you have to keep us apprised. And when you trade your first AI training for a shoe fly pie, let me know. All right, Don, thanks very much.
Speaker 2:Good to catch up with you again.
Speaker 4:Good to catch up. And let's not make it in another 20 years.
Speaker 1:Definitely. And we'll talk to you, dear listener, next time on. NET Rocks.
Speaker 5:NET Rocks is brought to you by Frankenstein.
Speaker 3:Net and produced by Plop Studios, a full-service audio, video, and post-production facility located physically.
Speaker 5:In New London, Connecticut, and, of course, in the cloud. Online at pwop.com.
Speaker 3: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 1:See you next time.
Transcript supplied by the publisher with the episode.
by Carl Franklin and Richard Campbell · English · Tech & Science
.NET Rocks! is an Internet Audio Talk Show for Microsoft .NET Developers.
23 Sep 2026 · 1 hr 8 min
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…
16 Sep 2026 · 1 hr 6 min
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…
9 Sep 2026 · 1 hr 5 min
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.…
26 Aug 2026 · 1 hr 3 min
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!
20 Aug 2026 · 57 min
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…
12 Aug 2026 · 57 min
What can OpenClaw do for you? Carl and Richard talk to David Guttman about his work on OpenClaw, and helping others be successful with it.OpenClaw was one of the first personal agents released and has continued to evolve with the industry. David talks about controlling access to OpenClaw, and controlling what OpenClaw has access to. The challenge is managing prompt injection, and the agent can be manipulated by others to share information inappropriately. But it can also be a time saver for routine and annoying tasks - it takes time to set up properly, but that time is paid back quickly when…
7 Oct 2026 · 55 minNew
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…
30 Sep 2026 · 53 min
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…
5 Aug 2026 · 56 min
What's Shawn been up to lately? Carl and Richard chat with Shawn Wildermuth about his work in the Netherlands. Shawn talks about his last show on being a senior developer - and how much that has changed in the past two years. The role of large language models in software development has changed careers, but they're still fun. The conversation also dives into the role of Aspire to utilize the best of cloud architecture and how LLMs make that easier as well - and enable developers to take on more architectural roles without getting stuck in the details of implementation.
30 Jul 2026 · 1 hr 3 min
Identity is hard, and getting harder! Carl and Richard talk to Michele Bustamante about the evolution of authentication and authorization in the current landscape. Michele talks about finding apps at clients that are still using older authentication strategies that are no longer secure - or are implemented incorrectly, so they were never secure! The conversation covers the array of tools available today for security, so you don't need to roll your own, and includes support so you can do it right. The role of the LLMs is important - old significant vulnerabilities are being found and fixed…