
About this episode
- Conferences and Meetups
- Fyne Conf 2026 @ Eindhoven, NL, Sept 11
- West/Central African Gophers Meetup, Sept 31 Online
- GopherCon Africa 2026 @ Nairobi, Kenya, Oct 15-17
- Releases
- Accepted proposal: net/http.MethodQuery constant
- Blog: twice as fast or 1.5x slower? Go 1.27 encoding/json/v2
Get every episode summarized
Each time Cup o' Go publishes, we email you a written briefing from the transcript — the topics, who appeared, and any specific claims, with the ad reads skipped.
Email me new episodesFree for 3 shows. No card needed.
Hosts & guests
Transcript ready
561 searchable segments. Every word is indexed and playable.
Full transcript
Cup o' Go — Go releases and events from EMEA and around the world. Machine-transcribed; use the interactive transcript above to jump the player to any line.
I would sometimes urine for like a tiny update. That's hilarious. Oh, excuse me. I need to recover from that joke. Oh, recovered. Nice. Ah, yeah. This is Cup of Go for September 4, 2026. Cup of Go for September 4, 2026. And I'm Shina. Hi. I have ridden the bike bus this morning. So got up early, got my kid in a line with a whole bunch of other kids. Road to school. I feel like I'm in the middle of my work, even though we're recording this in the morning. I feel like I'm in the middle of my work day too, because I already took the kids to school and picked one of them up and it's almost 1 p.m. here. So I guess, I guess time zones are weird like that. Yeah, yeah. No, the energy should be more normal, because usually I'm recording.
I'm just like waking up and I'm already still in my morning coffee. So unfortunately, or maybe fortunately, it depends on my Cup of Go cup. I don't know if it's allowed, but it actually doesn't have a coffee. It has like a filter. Oh, no. I hope it's okay. What are we going to talk about today? Today we have some conferences. We have some releases. We have some, what do you call it on those guys? Is it a tweet? Is it a, I don't know what that's called. Is it even called a tweet on Twitter anymore? The Twitter is not even Twitter anymore. Tweet your so last year. Tweets on. That's a decade. Blue sky called. Just called posts. Post. Well, okay. What are they called on X these days? I guess so. I still call them tweets. I don't know. Well, we have, we have some of those things, at least one of those to talk about. We did a lot of posts from tiny go and a lighting round. A lot of things to get into. Let's start with a conference roundup. So that sounds like a fine idea.
Fine idea. I get it nice. FineCon 2026 is going to be a fine FYNE conference in mainland Europe. If you're a long time listener to show you already know fine because it's a cool project. We talked about a lot and also headed by friend of the show Andy Williams that cohosted and was a guest and a lot of episode did a lot of things. If you don't know what it is, it's a UI development toolkit. I guess that's fair to say. I think that's fair. I think that's fair. It helps you build the cross platform apps in Go. So no web, no JavaScript like just go to build a native app on every platform like Windows Mac, Linux, like a mobile app web, all sorts of stuff. Yeah. There are some examples on the site that were added since I was there before. Bible text. I'm not for me, but still cool.
Interactive visualization of solar system, orbitly, serial monitor. I don't know all kinds of cool things. There's going to be a meetup for that September 11th hosted by the social hub in the Netherlands. So if you're in the oven, if you're in the oven and the tickets are free, so there's no reason not to go unless you're not in the Netherlands or not in the Netherlands. Yeah. Any, was that near you? It would have been so I lived your Amsterdam. So an hour and a half away. I certainly would have gone if I were living in the Netherlands still. I would definitely go. So anyway, Andy, next time if you do want an Atlanta, I'll be there for sure. Yeah, or in California. There we go. Yeah, so Finkon is happening in the Netherlands. What other conferences are happening worldwide? So I have two to talk about that are definitely not in the Netherlands. One is the West Central African Gofers meetup. This isn't really a conference. It's a meetup and it's online. So I guess you could go there from the Netherlands or from anywhere else.
This is happening on September 30. And yeah, we talk networking and open source. Open source is always fun. I always wonder about online meetups, you know what I mean? They are like remote. Like is a value there or not? And also if it's remote, like why limited to a specific geographical region? Yeah. But I guess it makes sense, right? So my take is there is value, but it's a different value than if you're there in person. The only time I went to an online meetup was during COVID when that was the only option. I went to it. And I did go to go to some. I watched some in places I wouldn't normally go a couple in the UK or different places that I normally wouldn't attend. So that's valuable just to have some diversity, but it's certainly a very different experience. I don't know how they're doing it here, but when I've done some of these before that it's usually other than during COVID, there's usually an in-person experience and an online
experience. So you can still go there. Like if you're in West Africa and want to go there physically, you can't. I don't know if that's the case here that they only talk about online. So still, you know, these meetups, they have a tendency to build up. So if you're a listener from that region of the world, go check it out. Link is in the show notes. And also in Africa, but definitely an in-person thing is GoFrica on Africa, right? Yes. So in Africa is happening a few weeks later, October 15 through 17 in Nairobi, Kenya. I had the pleasure of sitting next to one of the organizers of this conference when I was at GoFrica on in Seattle a few weeks ago. So if you are looking for the non-online experience in Africa, this is what you should be signing up for. The tickets are available and the schedule is online so you can go check all that out. Just hide if you want to. It's still. I had no idea that what is the Kenyan currency, you know, off the top of your head. I do not. So finally enough, it's about the cash, like, but it's Kenyan shilling.
And like the, it's 3,500 Kenyan shillings for the all three days pass, which is the most expensive one, which is like $25. So at least for me, it's not relatively, not super expensive, sponsored by Google with tail scale money point. Very cool. It's a packed schedule, it's like a three day thing. There's a keynote. There's Bill Kennedy's workshop on ultimate software design and engineering. You attended a part of it, right? Yeah. When I was in North Carolina. Yeah. Yeah. Yeah. Then a lot of talks. I'm mostly Clark from JetBrains will be there. I met him in Seattle as well. I'm sure I met some of these folks that don't recall. I'm terrible with names and faces, by the way. So don't take offense if I don't remember, I might you. But it looks like a packed schedule and high quality events. Some of them are not confirmed yet. So it's still cool. I don't plan to go because it's kind of far.
Yeah. But it looks like a really cool event. And it's only the third one. Like I, when I think about GoFrancons, I'm like, oh, GoFrancons, are we going on for years? But I guess this one's relatively new. It's newer than our podcast, I guess. I wonder if we talked about the first one three years ago. I don't know. We should dig through the crates and check. Anyway, GoFrancon, Africa. If you were going to go somewhere close to you, where would you go, Shai? Well, one thing I would go to is San Francisco, meetup. Ah, that's uncloser to you. But unfortunately, I don't know where it's happening yet. So. And the GoSF organizer, if you are in San Francisco and you want to host me and my meetups around October, November, please let me know. I'm looking for a location. I'll post it in some slides as well. I don't know. If you're a listener and you work in San Francisco and your company is willing to host around like 50 people and some talks and you have a good enough room and you're willing to pay for like food and board, I think that's it. These are all the conditions.
Okay. I'll reach out. Very cool. All right. Meetups and conferences. Let's get on to some actual news. I don't know. I guess that is news. But let's talk about some ghost stuff. But the conferences are about go. I'm so confused. What are we going to talk about next? Go version one, 27, one has been released. Didn't 127 zero just come out? Yeah. This is a not super crazy, but just has a lot of small fixes. Compiler fixes, whatever. I'm surprised that the amount, by the way, of like all the fixes that were introduced to, you know, CGO compiler runtime, GoFix, GoModerni, like whatever, SIMD, because they had the RC and they ran all the tests. But turns out when you actually release stuff to the world, you find all sorts of weird bugs. I found a really funny one. But any specific issue in this release that the, or I guess fixing this release that
caught your eye. It's just a grab bag of stuff. One that catches my eye though. Quoted null rejected for string fields with the PAMA string option and go 127. So I guess the even Jason V2 running that as an experiment for a year and a half wasn't enough to catch all the bugs. And the one that caught my eye, finally, was funnily enough is also comma related. I guess this release just doesn't like commas. But you know how we have the modernizer, like command, goFix command. What do you expect it to do? Like when you run GoFix now. With a comma? Generally, like a general. Oh, I expect it to modernize and fix my go code. Yeah. And definitely not break it. Right? Right. Like always, always, it should work. I would expect another break stuff yet. So there's the really funny, in my opinion, case that someone found where you're trying to, you're trying to be good and document your code.
Right? So you add inside a struct next to a field, you add a comment. So let's say you have a struct called options and it has a thing called retries. You know, you put like the number three. You want to explain it to you're like, oh, you put a comment in that. It's max three. Then give up. Now you didn't you didn't hear it. You didn't read it. But in audio, I paused there, right? I paused because there's a comma. Okay. Apparently the modernizer, when it takes this like struct and then, you know, changes the, just moves around the curly braces to around the other option as well, like in a separate line, doesn't realize that, you know, there's a comma in there and then it doesn't compile. So it treats it treats that comment as though it should inject a new line. Yes. Even though it's part of the comment, so it shouldn't is kind of what you're saying. Is that?
Yeah, that's exactly the problem. Okay. It's the embed lit modernizer. So it's a, I guess it, I mean, come on. It's a real weird edge case. Not only do you have an inline comment in one line, which is something I never do. Like I always put the comment with slash slash at the end of the line, which wouldn't break this. It also has to have a comma. So I don't know. Thanks a lot. NNNKK7, Nauki, Kuruda for recording this. No one person in the world who writes her code that way found the bug and fix it. Yeah. So these are the sort of fixes you can expect in 127, one. Some people, I guess, their code broke, but for most people, I heard that the upgrade was solely fine. And also 126.8 if you're still using that ancient version. So July 2026 of you talking about the release, you know, there was a release to crypto with
vulnerabilities as well. So before we get to that, I want to, like, what do the crowds say? What have you heard on the grapevine around 127? We had our episode last week. And you know, everybody talked about it online. Did you, did you see any specific feedback that you found interesting? I guess I've been living under a rock for the last few weeks. One place to you can always find, you know, an after a new release, find a lot of feedback is Reddit. Of course. And then the like mega thread for a go 127.0 release. And the top comment just like really tickled me just the right way. Okay. So the top comment, I really, it tickled me just the right way from treatise or whatever. Swaped in the new UID package and ran go mode tidy. And then there's like the diff where it's like, GitHub.com slash Google slash UID. It was a direct dependency. And then it becomes GitHub.com slash UID in direct dependency. Of course. I wonder how many years it will take until like, you know, you run a go mode tidy on a project
and then it removes the UID, you know what I mean? Yeah. Because it has to do permeate through all the sub packages, right? Other comments generally the vibe seem positive. People linked to the interactive tour, people like the SIMD changes, people really like the internally UID package. I didn't think it was that big of a deal. It's just like doing the same thing. But people, I guess they really care about it being part of the go like package path and not part of the Google package path. Should we tell them the go is by Google? And one other interesting comment I found is that someone upgraded from go on 26 to 127 and immediately observed 22% improvement in arm-martialing performance for JSON.
So really cool thing. Cool. Right. And some people asked about JSON one versus JSON V1 versus JSON V2. I guess they were confused about whether they had to upgrade. One comment I commented on and I'm wondering what your thoughts about it are is someone who's newer to go wrote, I'm new to go. And like, you know, in the past, people have been really reluctant to upgrade language versions. And I remember, you know, upgrading go a Python 2 to 3, right? And that being a whole thing. The question is, should I upgrade to 127 immediately or should I stay on 127? And you're asking my opinion? Yes. I commented my opinion. My opinion was just upgrade whenever you touch a project because usually they're very, very smooth. My opinion is you should have good enough tests on your project that you will know of
anything important breaks immediately by just upgrading. And if you're not doing that, why are you calling yourself an engineer? Wow. Wow. Why are you calling yourself an engineer? It's fine. I mean, if you work at a company and they have bad practices, you could be a good engineer in a bad environment. There aren't any bad engineers that only engineers that have bad circumstances. I don't know about that. Anyway, back to the question. That's a favorable overview. Back to the question. My approach is try the upgrade and see if anything breaks. And something broke for me. So I haven't done the upgrade yet. But it wasn't and go 127 itself that broke. It was, I think I mentioned this maybe last week, the dead code tool in the google.org-x-tools-package doesn't support go 127 yet. And I depend on that in my CI pipelines. So I'm waiting for that to be upgraded. Yeah. I mean, if you can, you should. If stuff is like broken, whatever, you can either wait or you can create PRs and fix it
yourself. That's also something you're. So I think the fix is landed. It just hasn't been released yet. Oh, yeah. So that's you can't affect. It's kind of one of those. Any day now, they'll tag really soon. I'll be able to upgrade. One of the releases of vulnerability fixes in a go-ling-x crypto, you know, are not, the fixes themselves are interesting, but we won't dive into the full detail. Obviously, you should upgrade the 056. It's preventing a denial of service on channels for SSH. So this is only relevant if your code, you know, handles SSH specifically, but maybe one of your dependencies that's near a few, you just get, for example, programmatically in your code, you could send a specific crafted message to that locked the entire connection. And now you can't. And I've looked for who reported it and I couldn't find it. So I need to dig deeper, but thank you, Will Mortensen. If you're listening, come on the show and tell us more details about these vulnerabilities. We would love to talk to you. So all these big releases and you know, lots of fixes.
I'm, I may sometimes yearn for like a tiny update. That's hilarious. Oh, excuse me. I need to, I need to recover from that joke. Oh, recover. Nice. Yeah. We did not send it up by the way at all. That was completely headlamp. Nobody had any of those coming. Totally natural. A couple of people filmed in front of a live studio audience. We are actually, this is a, this is a, I'm not, we work in this like windows. So there are other office on the other side. This also has windows. So they just see me talk. They're not aware that they're a live studio audience, but they are. Anyway. Hey guys. Tiny go 0.42 has been released. What does this mean? It supports go 127 now. So if you're trying to build go for embedded systems, go 127 is supported now. I had the pleasure of meeting Ron Evans. The lead, I believe he's a lead maintainer on this. He's when I was in Seattle and he's going to be on the show next week.
All things, if all things work out. So stick around for that. A little piece of inside baseball. He told me he had go 127 ready at that time for tiny go. But go hadn't released 127 yet. So he was holding on his release until 127 was released before he released tiny go with 127 support. I really love the idea of like getting to work with tiny go on a thing. But I've never gotten into like actually getting a chip and like soldering it and whatever you don't need to do soldering. You don't need to do soldering. I mean, you can. But I have an ESP32. You can't see it. It's just off screen here. It's hanging on my wall. I don't need tiny go for it. What I intend to use it for. But I could put tiny go on there. And I'm trying to find a reason to install tiny go on an ESP32. Anyway. Anyway. What project I could do with my kid with like, and what do I need to order? What's the cheapest way to get into this stuff?
And then have a reason to install this new version with go on 27 support. It's good that you asked that because one of the big features of this release of tiny go is more ESP32 support. So it has better. So I believe, if I understand, we'll have Ron talk about this next week. But ESP32 had support already. But I don't think it supported the Wi-Fi chip yet. Or maybe it was the Bluetooth chip or something like that. But I believe that that's complete now. So there's less reason not to. As far as the cheapest way, I think just by an ESP32, which is about $5 on Amazon. And then you need to connect it to. Yeah, they're super, super cheap. And then you need to connect it to something. You could connect it to an LED screen or some sensors or something to do something with it. But yeah, as far as the chip itself, the little PCB, it's incredibly inexpensive to buy one. Usually you buy like a package of five or like 20 bucks or something like that. They're insanely cheap.
The other big thing, and this goes back to the silly pun I just did, I'm trying to go now supports recover. Apparently it didn't. As someone who has not yet used any go, I guess that's surprising to me. I'm sure there are interesting reasons it hasn't supported recover until now, which we will probably learn about next week. So now if you divide by zero or whatever, you can recover or need a reference or all these. No point of the references. All that. I guess actually when you're working with like chips, sensors, whatever, random numbers and noise and electrical stuff, like you can get some weird inputs to your program. More than if you're just like reading Jason off, you know what I mean? The tiny go 0.42. We discussed this with someone else. I think it was Jamie Tennell on the Slack channel. Why isn't tiny go versioned the same way as go versions? Like why isn't tiny go 127?
You know what I mean? Yeah. So we should talk to you. Yeah, we talked about that with regard to open API, right? Because why is open API? Yeah, I wanted whatever not to be called 3.1. Open API Gen code to be like, oh, we're now open API 3.1 or whatever. But I guess it gives you like independence too. Yeah, so like you need to be able to implement things, add features, bug fixes that aren't tied to that other spec. We have the same problem with GoFrJS, the Go to JavaScript compiler that I'm a commentator of, that if we want to add a new feature to say the build tooling that doesn't affect the program's a compile, how do you conversion that? So what we do is we call it GoFrJS 1.22, 4 Go 1.22.3 or whatever. So we kind of closely follow their versioning, but not exactly. Not exactly. Which is the same approach I've taken by the way, I should have mentioned this. For GoFrLand, GoFrLand 120.27.1 is out and it has nothing to do with Go 127.1 except
that the 1.27 is the same. So GoFrLand being my fork of GoLing C Island that is a bug fix only released. So if you don't want your lender to break mid release cycle, have a look at GoFrLand. The tiny go project, I was thinking about it like, oh, I could do like a tiny thing, but it looks like it's actually running on real industrial processors as well, which would make sense. Right? So that is one of the things mentioned in this post is that you can now use it on a PC with UEFI. So you can actually boot into Go before you load an operating system kernel. Very cool things that I wish I had time to play with what I'll tell you. I wish I had a reason to care about that because it sounds cool. Yeah. Well, I might, I have, I don't know if I should admit this on air, but I pay for Amazon Prime. So I have like overnight chipping and they actually open my garage and put it there.
So saying 20 bucks for five words. Yeah, I'm going to order it. I'm going to order it right now and see how it goes. Awesome. Awesome. And then I won't have time to do it until I run next episode. Actually, you know what? It's Labor Day weekend. That's right. You have plenty of time. Yeah. Yes, I'm doing it. Awesome. Cool, cool, cool. Let's move to a quick, quick lighting round. Lightening round. All right. First of the lighting round, you've heard about HTTP query method I assume. I have not, but you have not. I think I have, I think we've discussed it once and it's a new, it's like get and post, right? Get post delete now you have query. Right. It's like a get with a body, which is useful if you need something bigger than a URL payload can carry. I suppose it provides some security implications as well because you can like hide a payload inside of the body that isn't show up in proxy logs or whatever.
I wouldn't say this is the first big change to HTTP other than HTTP to you or HTTP3, but as far as like this sort of a deal, HTTP, this is the biggest change in quite a long time. It's not a architecturally complicated change, but go supports it now and the HTTP query method is now a constant. I think that was accepted. There will be I guess a 1.28. So that's that lighting, lighting fast. Query method. I just used posts with with a body whenever I had to do it. So that makes a lot of sense. The problem with using post for that is it doesn't, it's not cashable, but query, I guess some principles could be there. Yeah, there are a lot of problems. It makes a time sense. I'm just like, I'm surprised it took that long actually. Indeed, indeed. My lighting round item is a blog post that checks out the new Go JSON API. So V2, Daniel Lemier, which I think we mentioned on the show a few times in some other posts.
Yeah, he did some analysis with standard data sets, which I wasn't aware of called SIMD JSON. So they have three files where they, one called Twitter.json, nested objects with short string keys, Canada.json, which is just a large array of coordinates and CITM catalog, which is nested objects with numeric keys. If you parse it into any, it's faster. If you parse it into like a known thing, it's slower. There isn't deep analysis, but the code is available. So if someone wants to like figure out why unmarketing is faster across the board, marshalling is faster for any, but it's slower for type scrot, that's interesting. I wouldn't, I can't believe there would be a case where you would use both JSON V1 and JSON V2, because usually you either care only about marshalling or only about our marshalling performance, you know what I mean?
I can't imagine a like an application scenario where you care about both of them at the same time. But I guess if you do, you can take a look at this blog post and pick and choose which library you use for which case. All right. And that does it for the show this week. No ad break, but if you want to support us, you can do so directly via Patreon. That's the best way to support us or share the show. Write about it, share it with friends, colleagues and whatever. All the links to all the things, including the soon to disappear shop are at cupo.dev. You can also email us at news at cupo.dev. I hope that was short enough. I think so. I'm like trying to condense the ad break. We're still trying to figure out when to put it. And thanks everybody on our Slack channel for recently we had a few questions about, oh, should we do two episodes a week, whatever, about the new YouTube shorts format about all these things. And we've gotten a lot of useful feedback, which is mostly, I don't know, it's a podcast,
just keep it coming. Very good. I think that does it. All right. Program Exited. Program Exited. Program Exit Up. Goodbye.
More episodes
More from Cup o' Go

Everything You Always Wanted to Know About Go 1.27 But Were Afraid to Ask
Cup o' Go

AI-pilled Go - Live from San Francisco with James Heller, and interviewing with...
Cup o' Go

A string of new releases, plus an interview with the creators of Gaal
Cup o' Go

Quick GopherCon recap, and interview with Kemal Akkoyun of Datadog
Cup o' Go