Heap Happens: True Crimes in Go 🧹🔪 Plus which YAML is the best for you? - podcast episode cover

Heap Happens: True Crimes in Go 🧹🔪 Plus which YAML is the best for you?

Apr 12, 2025•34 min•Ep. 106
--:--
--:--
Listen in podcast apps:
Metacast
Spotify
Youtube
RSS

Episode description

Transcript

Shay NehmadShay Nehmad

This show is supported by you, our listeners. Stick around till the ad break to hear more about that. This is Kappa Go for 04/11/2025. Keep up to date with the important happenings in the Go community in about fifteen minutes per week, which slowly and surely seems like it's not enough as our backlog is only growing. I'm Shay Nehmad. I'm Jonathan Hall. What what are we doing? Are we just tossing every odd item out of the backlog? No unlucky news?

Jonathan HallJonathan Hall

I think that's the way it works. Yeah. Yeah.

Shay NehmadShay Nehmad

That's what they do with resumes. I deal them like cards and then every third one just

Jonathan HallJonathan Hall

wouldn't wanna hire any unlucky people. Of course.

Shay NehmadShay Nehmad

We have a lot to talk about today, but first we should start with a correction. You're not always right.

Jonathan HallJonathan Hall

We're not, sadly. Well,

Shay NehmadShay Nehmad

Jonathan isn't.

Jonathan HallJonathan Hall

No, maybe you're always right. So last week we talked about Yoke and I made the comment that it is not a Helm replacement because it works with Helm. That was corrected by our listener who submitted the project. It It actually is a Helm replacement. So if you don't like Helm, maybe Yoke is exactly for you. Just a quick correction there. Check out last week's episode for a full description of Yoke.

Shay NehmadShay Nehmad

Wow, I wonder how much traffic it will drive if we actually correct all the wrong things we've said over the last two years.

Jonathan HallJonathan Hall

Check that out on our second channel where we correct all over this.

Shay NehmadShay Nehmad

The the the cup of the cup of go go show. There's a podcast that the my intro to podcasts was, My Brother, My Brother and Me and their show that's called The Adventure Zone, which is if any McElroy fans also listen to our show, shout out. So they have a show called The Adventure Zone, and then every, like, 50 episodes or so, they have a behind the scenes that's called the the adventure zone zone, which I really like. Anyway. Well Sorry for the mistake.

Jonathan HallJonathan Hall

Yeah. Sorry for the mistake. Thanks for accepting our sincere apology. And other news from our listeners, we got a great email from Gabriel Aguindre, I hope I said that right, who says he's going to be speaking along with his colleague, Sebastian Farrar at Gopher Camp in The Czech Republic. And they learned about Gopher Camp from this show.

So that's really cool to hear that we're making an impact. Not only are people going to go for camp because they heard of it on the show, but somebody's speaking there. Louis speaking on the topic of why your code deserves better and why you should give it a linter. So I'm a big linter fan. We had Eldaz on the show a couple of weeks ago to talk about Golangzhi Lint.

I sing the praises of Lunters a lot. So unfortunately I won't be able to attend this talk. Maybe there'll be a video online I can watch later. If you'll be in The Czech Republic, the boy should figure out the dates of that thing again.

Shay NehmadShay Nehmad

And like always, whenever there's an interesting person coming in to the Slack or we find their blog post or any of their mentions, I go check out their personal blog if they have one. And Gab has one, Gab's Notes, which is really nice and has a short blog post about merge conflicts and go dot sum, which is like, hey, Go mod, you need to fix manually, but go some, you just don't worry about it. And apparently you can do it with git config, which I didn't know, which is super cool. So I'll I'll definitely like deal with the first like with that idea. You can just say like, oh, go some, just like whatever, keep both versions because it almost never matters.

And then you go do gomontidy anyways. Mhmm. A neat little time saver from, Gabriel. And if that convinced you, the Gopher Camp in The Czech Republic, which is the first Golan Conference in The Czech Republic, is in thirteen days and seven hours, 04/25/2025. Looks like a full day, really cool stuff, lots of speakers, lots of sessions. So if you're in the area, go sign up and even supported by Microsoft, Alban Labs, Odin. Gg. Very cool.

Jonathan HallJonathan Hall

One proposal I want to talk about today. There's many in our backlog that we're not getting to, but one I wanted to call out because it's fairly easy to explain and I think it's going to make my life and probably a lot of people's lives easier. How often do you use a weight group and go, Shay?

Shay NehmadShay Nehmad

Basically anytime I have a bunch of tasks I wanna run concurrently, which is why I'm using Go in the first place, right? Right. And they're all off like doing web requests or doing like some heavy calculations or whatever, put them in a wait group and then wait, right? Yeah. So whenever I have to corral goroutines.

Jonathan HallJonathan Hall

Right, so it's going become easier. You've used wait groups before, you know that you have to call wg. Add for each wait group, or for each go routine you add to the thing. Then in your wait group, have to call wg. Done to tell if it's done.

And then the wait function at the end waits until all of the started go routines are completed before it continues. But that just got simpler or will be getting simpler. They're adding a go function, which matches the error group. If you've ever used that, which is a similar concept matches the error group functionality. So instead of doing wg.

Add and then go and then defer wg done, you can just call waitgroup. Go and pass it a function that executes and it does the add and and the done for you automatically behind the scenes.

Shay NehmadShay Nehmad

Oh, cool. Like a super simple API. I'm wondering now there's that modernize linter, Right? Mhmm. That seems like a pretty tough case to to catch. But if the modernized linter could catch that, that would be super cool.

Jonathan HallJonathan Hall

Yeah. I don't know how you could do that because sometimes you call w g dot add length of a of a slice, for example, wouldn't be able to catch all of those cases, I imagine. But if you're trying to clear your code base, you could easily just search for wg. Add and wg. Done and then do your own rewriting.

Shay NehmadShay Nehmad

Yeah, there is a lot of discussion that's super interesting about how many users misused the API or didn't figure it out correctly or blah blah blah. But I I like the last the last comment here. This issue now tracks the work of implementing the proposal, where in reality discussing the API was the hard part and implementing it is super easy. So someone like by stroke of good fortune, the implementation is already complete. But yeah, the design is a hard

Jonathan HallJonathan Hall

one. Cool. So far, that's my my favorite, new feature coming, O 1.25. Although, of course, we don't know really what's gonna be in that. So, but this is at the top of my list I'm waiting for.

Shay NehmadShay Nehmad

I would love it if Alintra, like, modernized it automatically, but I definitely wouldn't go back and touch any code that has concurrency in it. Even in Go where it's the easiest language to do that, it's just so easy for me to like, oh, sure, I can make this concurrency code look better. And then the race detector is like, no, you can't. Yep. Especially your copilot can't.

So don't don't even try it. Right. I wanna share a really, really cool blog post and I'm sort of on the fence. It's a seven minute read. So and it's like a bug hunt sort of blog post where there's a really specific, super interesting, hardcore quote bug.

Right? If you like reading these sorts of blog posts and trying to figure it out for yourself as you're running sort of like a murder mystery or a true crime podcast, I'm gonna spoil it, I think, as I sort of tell Jonathan about this blog post. It's called leak So spoiler warning, I guess.

Jonathan HallJonathan Hall

Shouldn't we start a podcast about True Bug podcast? True Bug?

Shay NehmadShay Nehmad

That'd be cool, like background music. 04/01/2025, an empty run time, alarm bells. Elad Gavra from Cyclo was hoping to just have another calm day at work when suddenly he got a conversation with the customer success team. We think we have a problem. This summer.

Jonathan HallJonathan Hall

April 1, this isn't a joke, right? This is this is a true a

Shay NehmadShay Nehmad

true thing. So the the blog post is, real. It's really cool. It's from, Elad Gavra, a team lead over at Cyclo. And you know, how often do you debug memory leaks in Go?

Jonathan HallJonathan Hall

I've done it a few times.

Shay NehmadShay Nehmad

But it's not like it's not like often. Just because, you know, it's garbage collected, most of code is straightforward and makes sense. Mhmm. So he is talking through in great detail with code and pictures and everything about how they, like, try to hunt for leaking goroutines that consume memory by retaining references. Just by the way, the tools they used to do it.

So, you know, they have pprof enabled, so they went to slash debug slash pprof slash goroutine. If you don't know what that is, Go has super good built in profile stuff, which you can turn on by just adding a line, right? And it has almost no footprint on your production, so you should probably do it. Honestly, they grab the goroutine pprof. So are there hanging goroutines?

With debug equals one, which is like the level of a debug. This detail is important. Remember it for later. Okay. They found, you know, generated a graph and okay, it's related to the SQLite driver, something from a cloud resource and they show the graph here and, know, that beautiful graph where something's red and they're like, oh, let's look at the heap profile location trails to find where it leaks.

Okay. So they narrowed it down to a specific part of the code, which is okay. It feels like a dead end. Maybe the problem is Indigo runtime. Apparently, it was, like, in the Go runtime, they introduced another tool called GoRef, which I never used Mhmm.

Because I never got to a bug that's this hardcore. But it's a heap object reference analysis tool. So you could like look at, you know, the call stack, which created every single object at runtime. Like see the memory reference distribution and and of stuff that's reachable by the garbage collector. And from that, you can go back to the places in the code where the objects were created.

Blah, blah, blah, blah. Like, they're they're going through this research and they found that GoSMB two has been blocked for tons of minutes because of a race condition they introduced and that Go debug, like the pprof debug equals two hides it. And they actually opened the bug for the Go runtime, which at the point of your research, if you're opening bugs in the Go language itself, you know you've hit a real edge case. So yeah, you know, debug two should have included in any reasonable person should include stuff that is found in debug one, right? But it didn't, they walked through this entire thing and fixed it, it's resolved, super cool.

So not only they shared the blog post, they actually improved the language. So like Cyclo and they had super great stuff. They just implemented, like they had to find a fix even after they opened the three additional issues. So they just like generated a monitoring loop and saw how long that finalizer takes. So it like triggers them.

It gives them an event and they can restart the thing. They even share the link to that repo, which is called F I N Q, think. So if you have a slow running finalizer, which or a blocking finalizer, you can use this to track it. So opening issues, contributing back to open source, like, guys going above and beyond in this one, which I really liked, just like super hardcore research. You should go read the blog post, honestly, if you're into that bug hunt sort of stuff.

Jonathan HallJonathan Hall

Or tune in on our new True Bug Hunt podcast.

Shay NehmadShay Nehmad

Next summer. No, yeah. And Elad just shout out really good blog posts.

Jonathan HallJonathan Hall

The topic of serious things that happened on April 1, everybody's favorite gamble parser for Go was archived that same day. Sort of the de facto gamble parser for Go, there isn't one famously, there isn't one in the standard library since your proposal was rejected without even a moment's thought apparently, Shay. So the GoYAML V3 parser that most of us have probably been using, it's probably the most commonly used one by Gustavo Niemeyer has been officially archived or unmaintained. He just updated it on April 1 with a note explaining that he hasn't had time for several years to work on it, which I think some of us have noticed. There's been a number of open issues and pull requests and not a lot of attention.

So I don't know what the sort of best approach to this is. I mean, you can continue using it obviously, but there are some other ones out there. I don't know if there's another one that everyone's rallying behind. I think there's a few different implementations. Honestly, I'll probably keep using this one. I haven't had problems with it. I don't know. What do you think, Shah? You're the one who wants it in the center library. And even though apparently nobody else does.

Shay NehmadShay Nehmad

Again, obviously there's a obligatory, oh, don't use YAML, right? YAML is horrible, blah, blah, There's no actual standard, blah, which is why my YAML proposal was rejected. The next popular package is YAML from Kubernetes. Right? So this is the the go I think it might be less common in terms of how many times it's been imported, but but by the, like, runtime seconds in real life, marshaling and unmarshaling Kubernetes stuff into Yammer probably happens like so much just because there are so many Kubernetes clusters out there.

I would go with that just because you want to flock towards the most popular one, even though the latest release was October and it's like April. I don't know, like, is that good? Is that bad?

Jonathan HallJonathan Hall

That's more recent than the latest real release of this one, which

Shay NehmadShay Nehmad

was over two years Yeah, the previous one was 2021, right? I am having a hard time believing that since 10/24/2023, there haven't been any interesting security fixes found or anything like that. Maybe it's because there's not enough attention behind this library, but that's

Jonathan HallJonathan Hall

On the other hand, YAML isn't an evolving, changing format. Mean, in principle, we should

Shay NehmadShay Nehmad

be able

Jonathan HallJonathan Hall

to nail it down and be done with it. Although we know that that's not really true in practice.

Shay NehmadShay Nehmad

I know that there's this one and people try to comment on it and there is go c c y go yaml, which I think has, you know, was developed from scratch to replace go yaml yaml. And, you know, they say that that one is not actively maintained, so I have to go check that one. I don't know. Generally, it's just a pretty bad situation where there's no strict this is the best one because ones that don't get released, you're like, oh, maybe they're just done, right? Maybe they're just stable.

And the ones that do get released, like two weeks ago, Go CC Y Go Yammer was released. You're like, wait, why do they still have like bugs? Generally not super happy with the situation. And whenever I'm going to like next time I'm going to do Yaml, I'm just going to try to make sure that I'm using only the simplest features just to not run into any edge case. That's I guess my best recommendation.

Don't try to do anything funky with YAML. If you find yourself in this situation where you're doing that, like, I don't know, reconsider. There's just so many edge cases and now that there's not a quote unquote standard library to do it, I don't know. Maybe it's just worth thinking about other languages that have all the features you're gonna want. Right?

We talked on the show about stuff like what was that configuration language? We had like two already on the show. Q maybe? Yeah. Q, c u I, c u e.

Sorry. C u e. Yeah. That's like, configure, unify, something, execute, which is, you know, a good way to define like schema, data validation, configuration, scripting, all these sorts of things, which like you might do with YAML and, you know, Q knows how to read and write YAML. Or maybe if you're like super hardcore, maybe you need a proto buff in reality and you've just been using YAML to hide it.

Like, I would seriously consider doing something else, which I wouldn't recommend if you were just using JSON. Right? Like, if you're just using JSON, that's fine. You're working with other web stuff and it just works for you. Fine. But if you're using YAML to configure stuff

Jonathan HallJonathan Hall

Someone needs to standardize a middle ground between JSON and YAML. It's basically JSON with comments and a couple other nice things from YAML without all the like 16 different ways to put multiline screens.

Shay NehmadShay Nehmad

I don't think it's possible at this point.

Jonathan HallJonathan Hall

No, I don't either, but it would be nice.

Shay NehmadShay Nehmad

But one final comment is if you do configuration, YAML is not a great option for you as well, because there is TOML, which is better and super standardized than the dev tooling community. For Pyproject, it's already standardized. Like there's no chance of it disappearing. By the way, I'll fully say unlike Q, right, which isn't part of any language standard or big community. While I do think it's super cool, like it's still not super it's kind of early, right?

That's not going to happen with TOML. So generally, like there are libraries I would recommend. I guess I would go with goccygoyaml as my first option. But the moment I do something slightly more complicated like validation or anchors, I would just stop and fix that because at this point, the YAML is like technical debt, but that might be a bit too much. If you're just using a normal file, goccoyyaml, I think is the best option.

Jonathan HallJonathan Hall

Well, we've been jabbering here for about twenty three minutes in recording time, which of course is shorter in post editing time. But I think it's time to jump to our lightning round.

Shay NehmadShay Nehmad

Lightning round.

Jonathan HallJonathan Hall

So to kick off the lightning round, I want to do a shout out to a project called Godoc.envim. The coolest thing in my opinion about this project is the banner that has, it looks like a gopher driving a DeLorean from Back to the Future. So that's pretty sweet. But what it is, it lets you fuzzy search GoDocs from within NeoVim. So if you're a NeoVim user and you want to do a fuzzy search in your GoDocs, it's bugging us for you. This comes from listener. What did you say, was Shai, Frederic?

Shay NehmadShay Nehmad

I guess. I hope we said

Jonathan HallJonathan Hall

that right. Averpill. Thanks, Frederic, for the shout out, giving us this to include an lightning round. What do you have for us, Shai?

Shay NehmadShay Nehmad

I I I just wanna say I've been considering using NeoVim instead of Versus Code with Vim bindings, which is what I've been rocking for the last few years. But I don't know if you can hear it on the mic. Let me let me just put the mic next to it. I have a new mechanical keyboard. So Nice. I'm I'm really try I've I've been relearning all my shortcuts and commands and whatever because it's a really funky one. It's a moon lander. So I was like,

Jonathan HallJonathan Hall

that's why we get new one to it. Yeah. Yeah.

Shay NehmadShay Nehmad

Yeah. Actually, the first week was horrible. It was really rough, but now I'm liking it a lot. I'm sitting with my chest open because it's split and I could put my coffee in the middle of the keyboard, which is a power move for my notebook.

Jonathan HallJonathan Hall

With a straw, so you can just drink it without even lifting your hands?

Shay NehmadShay Nehmad

What? Dude, I should get a cup with a straw. We should offer like a cup with a straw, the slag for it. That's such a good idea. I didn't even think about it.

Although it's now that I imagine it in my head, it's a bit too much like a a rat in a cage with their bottle hanging, you know? Anyway, my Lightning Run thing is super fast because it's the new release of FINE, which is faster than ever and passes goes race checks. Yesterday, Andy, friend of the show, released v 2.6, massive update to FINE, which is, like a GUI app development framework thing, influenced by a material design where you can develop like Go apps that run locally pretty easily. And now it's super, super fast without data races as well. So if you do stuff on the background, you can use find dot do to do that.

But other than that, it's a lot faster because it has a new threading model, which sounds like a big achievement for the fine team. Good stuff. And it's a super big update. It has, like, I don't know, maybe 50 bullet points on the Mhmm. On the change.

So I assume it's gonna be, you know, six point zero is gonna be slightly buggy. But if you're an early adopter, that's a great time to switch and up and upgrade. Cool. Let's move to our ad break, and then we have a sort of preview discussion about, MCPs. MCPs? I don't

Jonathan HallJonathan Hall

know what that is. You'll have to teach me.

Shay NehmadShay Nehmad

For sure. That's the discussion. Welcome to our Ad Break. Thank you for listening so much. As we mentioned at the top of the show, this show is supported by you, our listeners, and we wanna highlight our Patreons.

You can join our Patreon and kick in $8 a month to help support the show. We need to pay for the show even though it's a hobby for us and a way to learn. Jonathan is gonna learn a little bit about MCPs or I learned about the new weight group stuff. But we do pay for hosting and editing and apparently refunding hoodies that went out, but didn't get to listeners. Luckily, they did get to listeners before I pressed refund because I was about to do that.

Anyway, we wanna shout out Kelsey Wolf. Kelsey Wolf, thanks a lot for joining our Patreon group. I don't know what this is called, audience, audience. We really appreciate it and it helps just make this hobby slightly more sustainable. So thanks a lot.

If you wanna support the show in other ways, or just talk to us, you can find everything in cupago.dev, that is cupago.dev, where you can find links to our Swag Store, our Slack channel, Cupago on the gopher Slack, which is growing. Like a lot of people are joining. I have a habit of doing like emoji response for everybody who's joining the channel just to like make it friendly. We're at five twenty eight people, which is a lot. And I don't know, Iska Ambraejak just joined.

Thank you for joining. I don't know if you wanted the shout out just for joining a Slack channel, but you were just the latest example. So yeah, cupago, cupopcase with hyphens on the go for Slack, or you can email us newscupago. Dev, that is newscupago. Dev.

Another way to support the show is to share the show with friends, coworkers, co students, anyone you think might be interested in Go. Maybe people who are interviewing for Go jobs right now. This show could give them like an edge, cause they could be like, oh, I'm listening to a show and I know about the latest proposals. I would be like hyped to hear about a candidate who's doing that extra effort. Someone gave me that advice recently.

They said, oh, I'm telling people I'm listening to the GO podcast and I'm learning stuff about it and I'm sharing it at work. And the interviewers really like hearing about that. So maybe that's like a crowd we could tap into. So Share the Show, we don't pay to advertise and we're not doing a lot of social media work, we're just posting the episodes and hoping they're good enough. So sharing it or leaving a review on Apple Podcasts, Overcasts, Spotify, wherever you listen to your podcast helps us a lot pushing the show to other ears.

Finally, I want to mention our upcoming meetups. Well, yours is like the end of the year. Right?

Jonathan HallJonathan Hall

November. The CubeCon thing.

Shay NehmadShay Nehmad

Yeah. So never mind. I wanna mention just my meetup, but that sounds a bit, you know, a bit too much self centric. So, Jonathan, how about you tell people about where they can meet me in my meetup?

Jonathan HallJonathan Hall

They can meet you in San Francisco. That's about as far as I I know.

Shay NehmadShay Nehmad

Yeah, so Actually, that's almost as far as I know as well because it's still brewing. But yeah, I'm hosting and we don't have a location yet, but I'm talking to a company that might be might might help us, get to it. But yeah, in the end of, May, there's an event in San Francisco, go meet up. And if you wanna meet me there, because I'm the organizer and I think I'm currently the only attendee. Although there are a few people who said they will come.

Feel free to join. It would be super cool. Two hours, we're doing one, live podcast recording and a talk that's to be determined. Talk to me if you want to find that slot. It's kind of awkward because there is a Go San Francisco group, but their main like, their maintainers are not answering. So if anybody knows them and could, call them and connect us, that would be cool. Otherwise, Wednesday, May 28, possibly at WeWork or maybe at a cooler place if I can make it happen.

Jonathan HallJonathan Hall

We recently passed 500 subscribers on YouTube.

Shay NehmadShay Nehmad

No kidding.

Jonathan HallJonathan Hall

Yeah, like it's such a red headed stepchild of social media for us that we don't really pay much attention to it, but very people are listening there. So if you're a YouTube listener, thanks.

Shay NehmadShay Nehmad

Damn. That's super cool. 508 sub wait. Am I subscribed? I don't know. Yes.

Jonathan HallJonathan Hall

Am. You better be.

Shay NehmadShay Nehmad

Cool. Cool. Cool. I should get a new, camera soon. So maybe we can do, like, one episode video just to prop that up. That would be fun. It's like screen shares and things like that. We did a live episode by the way, and the video should be up there as well. If you don't if you click on live, not if you click on videos, you can see the the stream. It was a month ago for the, hundredth episode. That was a lot of fun, even if it was a bit stressful.

Jonathan HallJonathan Hall

And even if it was actually the ninety ninth episode, which we realized a few weeks later.

Shay NehmadShay Nehmad

Well, you I I'm pulling like a Trump, and I'm saying like, no, it was a hundredth episode.

Jonathan HallJonathan Hall

Got it.

Shay NehmadShay Nehmad

And it was beautiful. Greatest The

Jonathan HallJonathan Hall

biggest crowds ever.

Shay NehmadShay Nehmad

For an American, you do a worse Trump than I do.

Jonathan HallJonathan Hall

I'm sure, I'm sure. It

Shay NehmadShay Nehmad

has the best pointers and the most beautiful garbage collection. Everybody's gonna get their own go routine all dressed up.

Jonathan HallJonathan Hall

I think we should move on to our preview for next week.

Shay NehmadShay Nehmad

Yeah, for sure.

Jonathan HallJonathan Hall

So Shai, I understand that we're talking about MCPs. Is a metal band? What is that?

Shay NehmadShay Nehmad

So not only MCPs, also A2As. Does that No. No. So it's very simple. All, MCPs and A2As are ways to integrate your AI LLM into your APIs, your DBs, your web requests, your local files.

Super simple. Join us next week in LinkedIn Brain Rot, the show. So obviously LLMs have been a super big topic, right? Like I'm literally working at a copilot AI security startup right now. But even beyond the bubble of where I work, MCPs, which is model context protocols, have been making the rounds and have been super interesting recently.

Like they've just exploded in popularity. I don't know if it's going to die next month. It might, but there have been two big announcements. So I'm going to give you the like preview of the announcements, but I want to dive into a few projects, actually use them and maybe even develop an MCP myself before next week so I can be more informed about it. Also, I want to ask our community on Slack to share if they've been working with all these stuff like MCPs or A2As so we can highlight it next week instead of just randomly highlighting a few projects.

If they if someone's actually used it, that would be interesting. What is this? It's like a client server. MCP was introduced by Anthropic. It's basically a protocol, which is like a standard, but it's just by Anthropic. So it became standard just because they're popular, which gives your LLM a way to talk to data sources and tools. Right? And you expose specific capabilities through the MCP protocol. MCP protocol, that's stupid, right? That's like an ATM machine.

Through MCP servers to give access to the various services for your LLM. So you could, in theory, develop a model context protocol server for Jira and then, talk in natural language to your, MCP server or more realistically, the use cases your AI agent does that. And it provides like, if you want to list all the issues in Jira, you talk in natural language to that MCP and it translate it to the actual thing that talks to Jira, right? An API call or whatever. Talk to databases, local files.

Surprisingly, the most useful case for it, write and not read. So if you want your LLM to actually do stuff like create emails or write stuff or buy stock or do stuff for you. Let's say you want your, I don't know, AI agent to book you a flight or a meeting at a headrestaurant, right? Relevant for some of us, if not everybody on the call. But it has to go through a whole like it needs to open the web and click on reserve and then check the prices.

And like there are many things you could put in the prompt, but it actually has to do stuff, right? Call the place maybe, transcribe the call, get your confirmation if that works for you, check your calendar. So MCP could help the LLM connect to all these sorts of things. That's in a nutshell. Got it.

It was a huge announcement and everybody and their mother have been developing MCP servers for their thing because it makes sense. Right? You it's like an explosion of APIs. It's like people are making the bet that LLMs are gonna be the new Internet and this is gonna be the new web pages. Right?

Okay. Everybody's been jumping on it. And then April 9, just two days ago, Google announced basically the same thing, but with their protocol, which is called A2A protocol, agent to agent, which gives agent interoperability. And they announced it with contributions from a billion tech partners like Atlassian ServiceNow. So this is the enterprise e version of that basically, where it's shipped with McKinsey, KPMG, Atlassian, Box, MongoDB, PayPal, Salesforce, SAP, SAP integrations, ServiceNow.

And it basically, again, support for agentic capabilities. So let's allow AI agents to talk to tools and even multiple agents to talk to a tool. So you have a remote agent over in Atlassian side, then you have your local agent running locally, and then you can talk between these two agents and, like, share tasks. So it's sort of like another network layer on top.

Jonathan HallJonathan Hall

And we can over to next week to learn.

Shay NehmadShay Nehmad

Yeah. There's a lot of capabilities there. Super cool. Where the agents first have to talk to one another to figure out what they can do and then manage tasks and then collaborate, blah, blah, blah. Our spin on it is obviously which MCP and A to A servers and clients and tools have been developed in the Go space?

Because there are quite a lot, actually. There are, like, seven Kubernetes ones, although I didn't know we needed so many. So I'm mostly interested to hear from our crowd. If you have used these technologies or developed a server just for fun or whatever, let us know. We'll talk about it, next week when I'll try to learn a bit more about that and share my thoughts on how it is to do it in Go. Looking forward to it. Yep.

Jonathan HallJonathan Hall

Alright. Same time, same place next week. Hopefully.

Shay NehmadShay Nehmad

See you then. It's a Passover, so it the episode might move a little bit in the schedule, but hopefully not.

Jonathan HallJonathan Hall

Alright.

Shay NehmadShay Nehmad

Happy Passover to who whoever is, celebrating, and, I think that's it. Program exited. Goodbye.

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android
Open in Metacast