Live from San Francisco, it's Cup o' Go! 1.26 release notes, speaker dinner, and more
This is Cup of Go for 10/23/2025. Keep up to date with the important happenings in the Go community in about fifteen minutes per week. I'm Shay Nehmad coming to you live from Forge's offices in San Francisco. Thanks a lot, Forge, for sponsoring this live episode. More details at the ad break, but let's move on to the news.
Shay Nehmad:Welcome to this week's live episode. Jonathan is in Go West Utah. We hope he'll join, soon just to say how how he's doing. But we're gonna get started. The big news for me at least this week is that Go one twenty six just posted the release notes.
Shay Nehmad:This is a draft, you know, how your coworker posts like a draft PR. Oh, it's not ready yet. It still has all the to dos. So this is just interesting if you wanna understand what's gonna come in the next version. One twenty five was just released, what, a month ago?
Shay Nehmad:Like it's pretty a month or two months ago, pretty young. So, this is a few months out into the future. But if you want to know, like what's going to be new and go in the next version, things that have been merged already or are in progress, but things that are definitely, like, through the proposal process and are planned to be part of the language, this is where to go to. We've discussed some of these, features already in past episodes of the show in case you, like, are gonna hear me talk about stuff and like, wait, didn't they talk about this in the past? But I'm gonna go over the big things that interest me, which coincidentally means I'm not gonna talk about anything related to crypto because I'm not smart enough to understand all these pull requests.
Shay Nehmad:But there are a ton of things in the draft about like, oh, the big int fields of public key are not deprecated and RSA has private key blah blah blah. Like, okay, if you're Filip of Alsorta, these these are for you. Everybody else can talk about the normal features. And as you can see, there are actually a lot. One we talked about, for example, is the multi handler for S Log that Jonathan complained about a lot.
Shay Nehmad:Alright. It looks like we're getting a call from the field. Hello? Hello? Hello.
Shay Nehmad:Who is this?
Jonathan Hall:Hi. Long time listener,
Shay Nehmad:was just about to say, hello, John.
Jonathan Hall:How's it going?
Shay Nehmad:Where are you?
Jonathan Hall:I'm in Lehi, Utah. Actually, I'm in American Fork, Utah at the speakers dinner the night before Go West.
Shay Nehmad:Oh, if you don't remember, although this is not gonna be news because this episode's gonna come out during the conference. So if you haven't bought your ticket yet and flew out, you missed it. But we talked to the Go West organizers.
Miriah Peterson:I'm one of the cofounders of the Go West conference, Mariah Peterson, long time Go user, content creator, and obviously conference organizer. And yeah.
Shay Nehmad:And, Jonathan, you're gonna give a talk there. Right?
Jonathan Hall:That's right. I'm gonna talk about how I became an semi official official, I don't guess, contributor to the Ghost Center library.
Shay Nehmad:You don't know this, but Josh Bleecker Snyder, friend of the show.
Josh Bleecher Snyder:My name is Josh Bleecker Snyder. I have spent, an inordinate amount of my life, hacking on the Go compiler tool chain runtime, and being generally involved in the project.
Shay Nehmad:I just went into the standard library and edited all the stuff in it live, smearing all your contributions.
Jonathan Hall:Oh. Did he delete my three lines of code?
Shay Nehmad:Possibly. But it's just local to his machine yet, so it's not an official What's job the energy like in Go West? Are you excited for tomorrow?
Jonathan Hall:Oh, yeah. It's great to to meet people in Meetspace. Moriah and Derek, who we had on the show, of course. I intend to meet Elliot from Dreams of Code. He's here.
Jonathan Hall:He's not at a dinner, but he'll be at the conference.
Shay Nehmad:Oh, no way. Say hi.
Jonathan Hall:Yep.
Shay Nehmad:And are you gonna give out the new stickers?
Jonathan Hall:I intend to.
Shay Nehmad:What are our feelings about the new stickers? I really hope that's gonna kept like, we're gonna hear it because this is a unidirectional microphone. Otherwise, we'll we'll just add it in post. Do you remember the sound
Jonathan Hall:from Microsoft PowerPoint?
Shay Nehmad:It's like
Jonathan Hall:Yeah.
Shay Nehmad:Alright. So I've just been going through the, 1.26, release notes. Already mentioned the multi handler for S Log. Anything specific on the release notes that you found, like, you know, you're particularly excited it's already coming in 01/26?
Jonathan Hall:If it were for nothing else, I would be excited about
Miriah Peterson:the changes to new. We talked about it on the
Jonathan Hall:show before, but that's a long time coming. You'll be to create pointers to to arbitrary things without extra steps.
Shay Nehmad:Yeah. That's like without getting the ampersand off the struct and then having to call new on that.
Jonathan Hall:Yep. I am excited about the multi handler for the logger as well. I will use that definitely, but the the changes to new, that's that's all I need. That makes my day.
Shay Nehmad:My main thing from this release notes is the GoFix. So I actually wasn't even aware of GoFix because I just used always linters and whatever. I didn't know that there was a specific command, but it was super old. But now it's gonna be new again with the better analyzers that use, like, pretty much the same thing as GoVet, and the old thing has been deleted. And just anything that can make my code more automated and more the same and all the training data looks the same, so all the code my agent generates look the same er, better as far as I'm concerned.
Shay Nehmad:It's like a big reason to use Go, at least for me. And I just wanna highlight one more thing just because we just talked about it in this meetup. The var kind changes. So there's a new thing, where you can get the type of a variable. Is it the local variable?
Shay Nehmad:Like, the kind of a variable. Is it a local variable? Is it a package level variable? Whatever. Which I have no idea why I would even use.
Shay Nehmad:Like, what's the use case for? Is it only for people who write, like, compilers and interpreters and complicated stuff?
Jonathan Hall:It's probably mostly for code analysis. Yeah.
Shay Nehmad:I I I'm not writing any analyzers. It's depending on other people to build the tooling.
Jonathan Hall:You you probably should be.
Shay Nehmad:Should be writing them or shouldn't be writing them?
Jonathan Hall:Yeah. You should be writing them. You should be.
Shay Nehmad:I'll I'll find some time. I'll find
Jonathan Hall:I don't know why. It just seems like a good thing to say.
Shay Nehmad:Probably. A good thing for me to practice writing them, but I probably someone else needs to vet them before someone else needs to go vet them. And, of course, another thing we talked about in the show, but it's gonna be super useful, is the artifact directory for testing. So I don't know about you, Jonathan, but I've been writing more and more Go code that's air quotes AI, meaning, the API call is to OpenAI before and after API calls to other services.
Jonathan Hall:Yes.
Shay Nehmad:And like during tests saving like, oh, this was the prompt response and, you know, especially if I triggered guardrails because I do a lot of AI security stuff now, like storing the LLM response in the artifact there, super, super, super, super, useful. Yeah. I tell you that too. That's the reasoning for why people actually did it, even though it's just generally useful being able to do that, just by like doing t dot artifact deer just saves on the tiny bit of boilerplate of like make a temporary directory with the test name, which is something I've started to write in almost every test suite relating to AI that I have, been writing.
Jonathan Hall:Indeed. I agree.
Shay Nehmad:These are the one twenty six release notes. So these are the 01/26 release notes. We'll take another look at them, when, you know, it's gonna be time for 01/26. Obviously, there's gonna be a lot more things here, a lot more details. These release notes are actually pretty.
Shay Nehmad:And I'm not actually gonna open this page ever again. I'm just gonna wait for Anton Giovanov, who we've had on the show, to release his interactive release notes, Just the only way I consume these release notes, going forward. So, Jonathan, anything that you wanna share before you drop off to eat your speaker dinner?
Jonathan Hall:Yeah. I'm gonna go eat some, some carnitas sal pastor or something. I don't remember what I ordered. I don't have anything to share. Looking forward to doing a call that I can actually hear next week.
Shay Nehmad:Nice. Sending here in a noisy parking lot. So Everybody say thanks for Dungeon.
Jonathan Hall:Enjoy your meetup. See y'all later.
Shay Nehmad:Bye, dude. Moving on. The next thing I want to bring up. So we, on the show had, John Cricket, who does these coding challenges.
John Cricket:So I'm John Cricket, and I'm I disagree with you because I'm the author of coding challenges. I push a different way of learning a programming language. Before we get to that, though, to answer your question, I'm a software engineer. Been doing it for twenty eight years now. Done all sorts of things from railway signal systems to the typical web apps like a lot of people.
John Cricket:More recently, I've been dabbling in Go.
Shay Nehmad:Ever since, at least for me, LLM based programming and agents and agents running in the background doing my reviewing their annoying code. I've cherished every opportunity I've had to, like, hands on code without them. So it could either someone is interviewing with me and they just, like, finished using the LLM to interview with the code and I can, like walk through their code line by line or maybe I'm just doing something fun. These coding challenges have been a thing in my inbox ever since we interviewed John. I'm looking and I'm like, man, if only I could find the hour to actually do that challenge.
Shay Nehmad:But to John's credit, he's continued posting these. And in my inbox recently, the hundredth challenge has dropped. So if you're doing any interview prep or if you just wanna, like, code by hand, like the stone ages, I feel like these challenges are great because they're not lead Cody. They're actual super practical projects. Some of them are just like implement LS or implement like, word count or something like that, which is I think I told John this on in the interview, but that's how, I taught people at, previous company Rust.
Shay Nehmad:I was just like, everybody knows word count. It's really easy to implement. Let's implement the word count in Rust, this sort of coding challenge. This Hunter challenge looks super interesting because it's implementing a BitTorrent client. To me, this sounded like super complicated.
Shay Nehmad:I use, like, the BitTorrent protocol to download free stuff that is available and totally legal. And I just turn on my VPN while I'm doing it for fun and not because I'm super scared after moving to The US from people catching on. But let's say I wanted to implement my own, doing this challenge seems like a pretty cool way to do this. Obviously, there are a lot of ways you could support coding challenges to actually start doing them. I just want to highlight that getting to a 100, like a nice round number of challenges.
Shay Nehmad:A 100 challenges is like more than enough for anybody to basically master the language. Importantly, this is not a go thing. So you can implement this in whatever language you want. You can use LLMs. You can you can try to not use them.
Shay Nehmad:You can do whatever you want. I've actually used some of the challenges just to practice up on my Rustmore, which is the one of these languages which I only dabble in and did very like, not a lot of production work on. But there's like a spec. Strings are, base 10 strings and do it like this, do it like that. You can just start implementing it.
Shay Nehmad:If you do, shoot John an email and be like, this is my solution. And at least based on my previous, interaction with him in the interview, he's a super nice guy and he'll probably tell you like, good job or whatever. Also, I I feel like some of the projects I comb through the backlog, some of them are pretty simplistic. Some of them, if I saw them on like someone's GitHub who was interviewing, it would be like, damn cool. This person implemented their own, like Bitbetorant client, for example.
Shay Nehmad:So I thought that was pretty cool. Congrats for reaching challenge number 100. And I really wait for John to get to the next round number, which is 128, and get to that challenge. Alright, Filip O'Cat here for one sec. That's it for the news part.
Shay Nehmad:Let's move to a quick but interesting ad break telling you about this week's sponsor, Forge. Thanks for listening to, or attending Kapogo. It's it's you're about to start. This show is supported by you, the listener. There are a few ways in which can you support, which you've probably heard, and I see Josh spacing out already because I repeat this every time.
Shay Nehmad:This week, we wanna say a lot of thanks to our sponsor, Forge. And I have Hema from Forge here to tell you what Forge is, are they hiring, why you should buy them, etcetera etcetera. So Hema, take it away.
Speaker 6:So yeah, Forge is creating the next layer of human computer interaction. We can now at this point automate anything that a human can do on a computer, just given your English instructions at this point. And to do so, we've been able to create our own English programming language and runtime that can now combine the intelligence of LLMs with the accuracy and determinism of code. And so, yeah, at this point, we've been able to automate multi hour long human workflows at a higher than human quality and that's been deployed around the world. And, yeah, if you wanna work on interesting problems that require rethinking the entire stack from the IDE to the compiler to the runtime to the infra, we're hiring and growing.
Shay Nehmad:Thanks a lot, Forge, for sponsoring this week's episode, sponsoring the meetup. If you're listening, you're not enjoying this, but, like, bringing drinks and guacamole and nachos. That was awesome. Yeah. They have a beautiful, beautiful, San Francisco office slash mansion, and I highly recommend if you're in the SF area and you're looking for a job right now to, contact them.
Shay Nehmad:All the links will be in the show notes and in our, Slack channel, hashtag cupago in the gopher Slack. But I have a hookup to Hema in the company, so I could put your CV directly in if you're hiring or if you wanna buy Forge of automating things in an English programming language with better than human accuracy, sounds like something that you'd be interested in, go ahead and do that. At least based on their digs, they're a really, really good company. And yeah, this is the sponsor for this week's episode. I will remind if you wanna find any of our links or email us, you can find everything at cupogo.dev, including our new swag.
Shay Nehmad:So we have a new hat. It actually arrived. It looks sick. I love it. The big new stickers, the recursive gopher stickers, cupago, bruiser stickers, should say.
Shay Nehmad:And yeah, all the links to Patreon and all the normal stuff, that you're aware of. Let's run to a quick lightning round. Lightning round. Thing for the lightning round today, is I recommend you go read a blog post called the value evolution of caching libraries in Go. It goes through a bunch of different options, how to implement caches, like real caches that actually happened in the past.
Shay Nehmad:Is the cache on heap or off heap? I've found myself implementing caches myself a few times. Honestly, I I don't mind saying that because, like, they didn't hire me at the end, but I interviewed and passed the technical rounds for Microsoft and they asked me to implement the cache twice. So knowing this stuff, especially if you're interviewing right now is pretty important. And honestly, like, I don't know, 50% of my bugs have been related to caches.
Shay Nehmad:So there are a lot of how to improve cache implementations here, which is really interesting. And sort of the conclusion is if you, wanna make an informed decision on which cache to pick instead of just letting the LLM wrap a function with, cache it for me, please. This is relevant. This is obviously specifically relevant to Go developers, but it's relevant to even if you're working in other languages like regrettably me. This will do it for this episode.
Shay Nehmad:Thanks a lot for listening and program exited. Goodbye.
Creators and Guests
