🍪 No more all-you-can-eat Cookies

Jonathan Hall:

This show is supported by you. Stick around till after the news or actually during the news to hear a little bit more about that and some new swag we're trying to sell that you might want, you definitely want. This is Cup of Go for Friday, 10/10/2025. Keep up to date with the important happenings in the Go community in about fifteen minutes per week. I'm Jonathan Hall.

Shay Nehmad:

And I'm Shay Nehmad. And aren't I happy that you're not in sales?

Jonathan Hall:

I used to be. This thing that you might want this thing. I actually won a ski trip because I was the I was the second best salesperson in my department

Shay Nehmad:

No way.

Jonathan Hall:

Of of technical support people.

Shay Nehmad:

I also heard that you worked at Denny's today.

Jonathan Hall:

I worked at Denny's lot of

Shay Nehmad:

my two employment history. I used to bus stables. I also had a different job.

Jonathan Hall:

Yeah. I used to mow lawns. I used to lots of things. These days, I mostly just break people's computers.

Shay Nehmad:

Talking about hard work. I really appreciate all the hard work Andy Williams has put into the last episode. Thanks for covering for me, man. I really appreciate it. You know where I went, Jonathan?

Shay Nehmad:

Where did you go? I went to Disneyland. Woo hoo. It was actually super fun. I was sure I'm just gonna like, my kid was gonna have fun, and I was just gonna be there to, like, watch her.

Shay Nehmad:

But actually, Disney's awesome. Not sponsored, obviously. But, man, the mouse knows what he's doing. So while I was, in Disneyland, apparently, all the little security, problems came on to roost. We have ten secondurity fixes in this minor release, folks.

Shay Nehmad:

Although, when reading through them, they all have very similar vibes and a lot of them from the same company, Katana Cyber. So they're all about, like, excessive CPU consumption, quadratic complexity. Not all of them, but a lot of them are, like, performance related security bugs that can cause resource exhaustion. So I assume that the CVs themselves don't have very high score because the only thing it can do is like make your server run Yeah. Too much.

Shay Nehmad:

And, you know, it's from all over, the National Cybersecurity Center in Finland and this company called Katana Cyber, which is so European coded, it's not even funny. Like, they're you you open their site and it's like, what Katana Cybers brings to the cybersecurity field is the, a word meaning lock in Italian and used to describe the most defensive play system in soccer.

Jonathan Hall:

Sounds a bit European.

Shay Nehmad:

Immediately alienating all their, potential, American customers. Anyway, I wanted to You should upgrade 1.25.2 and 1.24.8. You should always upgrade patch versions They're anyway, like non breaking and they only bring benefits normally. I did wanna mention a few of them just so you understand, like, the vibe. One of them is, for example, there's no limit when you're parsing cookies, which is I don't know if it's true for you personally in life as well.

Jonathan Hall:

I have no limit to cookie intake.

Shay Nehmad:

Exactly. So even though, HTTP headers have a limit, the number of cookies, like, size limit, the number of cookies, did not have a limit.

Jonathan Hall:

I could I could make a server or a client that just, like, sends countless cookies forever and ever.

Shay Nehmad:

Yeah. I can make you allocate a large amount of struct Uh-huh. Causing large memory consumption. And now it's limited to 3,000, which is feels like a lot. That does

Jonathan Hall:

sound like

Shay Nehmad:

a lot. Cookies than you should have. But I don't know. Maybe there's a legitimate use case. You're you're actively trying to be tracked by every single ad agency in

Jonathan Hall:

the I have a think. Like, if I if I if I drove up and parked in front of two restaurants, one said all you can eat cookies and one said 3,000 cookies, I don't know how I'd choose which one to go to.

Shay Nehmad:

I well, probably based

Jonathan Hall:

on price.

Shay Nehmad:

I don't know. I I actually can't enjoy cookies as much because I can't have dairy. So all the really good ones, the brown butter stuff, I can't have. But now you have a maximum amount of cookies that the server can parse, which can be adjusted using the http cookie max num go debug option, which I they missed an opportunity to call it HTTP cookie max num num. Yeah.

Jonathan Hall:

That's what it should have been.

Shay Nehmad:

But that's is this me? So these security fixes have all been of this type. Like

Jonathan Hall:

I'm also surprised it's not exposed as an option, although this would have been more than a patch release, but, like, an option in either the server or the client configuration. Because I could I could see somebody wanted to set that to, like, three for common cases. But calling debug, whatever, seems a little bit of, like, a roundabout way to do that. And it also doesn't let you control it on a per client or per server basis. You know, if you want if you want part of your application to allow maximum three other maximum 50 or something, you can't do that.

Shay Nehmad:

Yeah. I think doesn't the HTTP have a default server

Jonathan Hall:

Yeah.

Shay Nehmad:

That you're not, like, setting up? So I guess it's for that one.

Jonathan Hall:

Oh, okay.

Shay Nehmad:

The net HTTP one

Jonathan Hall:

I guess it makes sense.

Shay Nehmad:

Which you don't, like, control. Other examples include quadratic complexity when checking name constraints. So some inputs scale nonlinearly, which can cause just a really big complexity. Again, not a huge CV in terms of, oh my god, someone is gonna, like, own your computer.

Jonathan Hall:

Mhmm.

Shay Nehmad:

But definitely a worthwhile fix. This is from Jacob Sialik, and also a friend of the show, Joobob, which now I I know how to pronounce your name finally, also has a security, patch in this one, which is really cool. It's really fun to see, like, names of people from the show on these notes. From the show, meaning from, like, the Slack that talk to me, that I don't know them from anywhere else but the show. Yeah.

Shay Nehmad:

The the cookie thing was his Awesome.

Jonathan Hall:

So I can blame him for

Shay Nehmad:

not getting enough Yes. Exactly. And one other that I really, really liked, you're not gonna believe it.

Jonathan Hall:

I already don't believe it. You're lying to me.

Shay Nehmad:

Net URL What? I p v six.

Jonathan Hall:

Oh my goodness.

Shay Nehmad:

So as everybody knows, we're really we're just moments from running out of IPv four addresses in the world.

Jonathan Hall:

Moments away for the last fifteen years. We should probably upgrade to IPv eight to fix all these IPv six problems.

Shay Nehmad:

Yeah. That's exactly the kind of take that I can really imagine an AI making in, a Twitter argument. If you're not if you're not on IPV eight, you're not you're an NGMI. You're not gonna make it. Yeah.

Shay Nehmad:

I bet I bet you, unironically, I could raise $5,000,000 for IPV eight Oh, wouldn't be startup. Like, in a week. Anyway, there's a whole thing about, mistakenly not validating bracketed h IPv8 host names, when you parse them. So you need to put them in a square bracket. Right?

Shay Nehmad:

And the IPv four addresses must appear in these square brackets. And then there's a whole thing. I really love this comment where they, like, have a screenshot of the RFC with specific parts of it, like, highlighted. And then apparently, it was like, oh, it doesn't have to be. Oh, it does have to be.

Shay Nehmad:

It's like unquoted brackets have a diff different meaning in something that I didn't think about since my computer science, like, degree, the augmented Bacchus Naur form, which is like a language, like a meta language where you have, like, rule sets and It's a thing that's strictly used for, like, RFCs and things like that when you need to define anyways, I love it. If you love, like, people suffering over details of RFCs, this one is the is the thing for you.

Jonathan Hall:

I think we can safely say IPv6 isn't gonna replace your network. Right? It it's someone else's IPv4 using IPv6 that's gonna replace your network to tie it back into the whole AI debate.

Shay Nehmad:

Yeah. Yeah. Ten secondurity fixes in, like, the standard library, plus we're not gonna go into it, but two security fixes in the XNet, as well. I think from similar people.

Jonathan Hall:

Yes. And they're both related to, you'll never guess it, HTML.

Shay Nehmad:

Yeah. It's all, like, parsing or whatever. And also, it's not again, it's not, like, gonna own your computer. It's mostly performance stuff, I I feel. I I try to review all of them.

Shay Nehmad:

It's like 12. If I missed one that's actually CV 10, forgive me. They should order them in order of importance on the There you go. On the security bullet.

Jonathan Hall:

Yeah. Right? Most important first.

Shay Nehmad:

By the way, one thing I highly recommend is going to these fixes themselves because I think actually reading these, when I me when I say fixes, I mean actually the googlesource.com, like, change list because these ones are a really good way to learn about, how to identify and how to fix these sort of things. I think that, like, looking at these change lists, let's take, for example, the net mail quadratic behavior. So when you parse the mail address, they parse it, like, one character at a time instead of a sub slice and then included the benchmark in the commit message. So you can, like, take a look at it and see that it actually is better. And, you know, if you just look at the file itself, it's it's really easy to see how a tiny change can cause this, like, security issue.

Shay Nehmad:

If you but if you were to look just at the change without the context of which change list it is, you would never be able to guess what this does. So I think it's actually a good, like, learning opportunity to, like, look at this change and see, oh, I define the d text len and the, you know, the the string outside of the for instead of doing it, like one by one and then it's, avoiding quadratic behavior. It's like, oh, this is how you avoid this is the pattern, you know what I mean, to avoid quadratic behavior in my code. Whenever there's a four, instead of, working on whatever's left at every time, just add it in a sub slice, for example. So it's good, like, for the pattern recognition of security stuff.

Shay Nehmad:

Yeah.

Jonathan Hall:

That's clever.

Shay Nehmad:

Which if you if you pull that up in a code review, man, people look like a little like you're a Jedi. Like, this four thing has a quadratic complexity. Like, oh my god. How did you know? It's it's just like practicing chess.

Shay Nehmad:

It's pattern recognition. Nice. Anyway, tons of security fixes. Go upgrade. And also very interesting one, so go read them.

Jonathan Hall:

Also very interesting. I see here that Cup of Go is sponsoring a meetup coming up, on October 23. It looks kinda scary. Oh. If you're in San Francisco on the twenty third, 05:30.

Jonathan Hall:

It says 05:30PM. That must be my time, not local time. Right?

Shay Nehmad:

It's San Francisco.

Jonathan Hall:

Starts at 05:30PM San Francisco time. Okay. Till 07:30PM. Go listen to You Can Edit the Runtime presented by Josh Bleecker Snyder. Did you know you could edit the runtime?

Jonathan Hall:

Yeah. It sounds scary to to say nothing else.

Shay Nehmad:

Yes. It is an October Halloweeny it's my first Halloween in The States, and people here are, like, super excited about Halloween. Like, all my neighborhood is skeletons already, so I was like, I'm gonna make it scary as

Jonathan Hall:

costume selected yet for yours for Halloween or for the meetup?

Shay Nehmad:

I didn't think about any just stumped me. I really

Jonathan Hall:

If you get a Brewster costume,

Shay Nehmad:

I'll I'll send

Jonathan Hall:

I don't know. That would be cool.

Shay Nehmad:

Yeah. I don't know.

Jonathan Hall:

Also scary in the same meetup, a live recording of Cup of Go. I don't know if

Shay Nehmad:

that's scary for the listeners. Maybe. We'll see we'll see how go how well it goes. Yeah. So given the fact that

Jonathan Hall:

you might have a conflict. So I'm I'm I'll try to pop in for a few minutes, but I won't be there for the whole thing. I will be at the speakers dinner for Go West, which is the conference is happening the next day. So if you are also a Go West speaker, you obviously won't be at the San Francisco meetup that day. And then after that, lightning talk, using LLMs to write murder mysteries.

Jonathan Hall:

Also scary.

Shay Nehmad:

And finally, durable workflow orchestration with Golang and Postgres. So some serious stuff, some not so serious stuff. Overall, it should be a lot of fun. We we have, some, like, 30 or 40 people attending already. Nice.

Shay Nehmad:

Some including friends of the show or people I've already met, and some people for which they're, like, their it's their first event ever. So I'm, like, very excited to have everybody.

Jonathan Hall:

That's awesome.

Shay Nehmad:

Yeah. But we want more people.

Jonathan Hall:

So The more the scarier.

Shay Nehmad:

We wanna fill the room. Yeah. And, there's another meetup, in Israel, which I'm not there anymore, but, like, I still, follow Micky on Twitter and whatever. So I saw it. Go Israel December 2025 meetup.

Shay Nehmad:

If you don't know Micky, I'm, like, name dropping him. He's our first interviewee

Jonathan Hall:

A whole way back on episode one.

Shay Nehmad:

From, like, two years ago or whatever. It's gonna be over at Kato Networks office in Leonardo Da Vinci 2 Street in December December 10.

Jonathan Hall:

December 10, Tel Aviv. Up upcoming talks are

Shay Nehmad:

talks are

Jonathan Hall:

still TBD. TBD. Guess that means if you want to give a talk, reach out to Mickey and see if there's a spot. It sounds like there probably is one.

Shay Nehmad:

Yeah. There's sounds like there are two. Yeah. Or maybe they just haven't

Jonathan Hall:

Might just not have updated.

Shay Nehmad:

Yeah. I can't see the attendees because it's like a meetup plus feature blah blah blah. You know what I mean? It's like you need the premium. But I can see, four of the attendees, and I already see I know all four of them.

Shay Nehmad:

So Wow. Looks like it's gonna be a great event. I'm not gonna be there because I'm not in Israel, at that time, but looks like a great event as well. A link in the show notes.

Jonathan Hall:

Awesome. I think that's a good time to do a break. We do have some more news coming up. Some we're gonna talk about some past news issues, some updates, but let's do a quick break first before we get to that.

Shay Nehmad:

This show, as Jonathan mentioned at the top, is supported by you. The best way to support us is directly through Patreon. This is a hobby, we do it for fun, but it's kind of expensive, you know, our time and editing fees and hosting fees and whatever. So if you want, you can join our Patreon, $8 a month or Cup of Gopher Mini for $3 a month, and just help us, like, cover costs for the show. We have some new Patreons.

Jonathan Hall:

A big shout out to Kent Smith, Jeff Macy, and Jennifer Johnson. Thank you for joining us. Thank you for supporting.

Shay Nehmad:

Yes. Thank you for joining. We really appreciate it. Other than that, we you know, the usual spiel. You can find everything at cupago.dev, and we're on Slack at hashtag cupago, kabobcase with hyphens.

Shay Nehmad:

If you wanna email us, it's news@cupago.dev. Another way to support the show is to leave a review on Spotify or Apple Podcasts, wherever you listen to your podcasts. Just let people know about the show. We don't pay for advertising at all, just word-of-mouth. So if you're going to one of these meetups or if you're going to a conference, go west, talk about the podcast because we want more people here.

Shay Nehmad:

Talking about things you can bring to the conference, we have new swag.

Jonathan Hall:

We sure do.

Shay Nehmad:

We actually have a new logo

Jonathan Hall:

Yes.

Shay Nehmad:

Which we're like it's not gonna fully replace the existing one. It's just like a simple version.

Jonathan Hall:

We have two new logos, to be honest.

Shay Nehmad:

Actually, that's true. You can find all of the new things in store.capago.dev. So we have one logo that's extra explicit, the Range Rover Brewster recursive.

Jonathan Hall:

Extra explicit. Do not let your children look at this one.

Shay Nehmad:

R rated sticker. No. It just says cupago on the bottom so people know what's up

Jonathan Hall:

with it.

Shay Nehmad:

And the and the cup is recursive, which is fun.

Jonathan Hall:

So Brewster's cup has Brewster holding a cup has Brewster holding a cup. Blah blah blah.

Shay Nehmad:

Exactly. And so that's a new big sticker you can you can place on your laptop or your bag or whatever.

Jonathan Hall:

Or if you come to Go West, you can get a free one.

Shay Nehmad:

Oh, what what challenge do they have to pass to get the sticker?

Jonathan Hall:

You just have to come say hi or or pick it up off the table. I'm I'm not sure how that's gonna work, but I'll be speaking there, so I'll I'll be handing them out. If nothing else, come talk to me. I also have new Boldly Go stickers from our from my YouTube channel. Give you one of those for free if you come say hi as well.

Shay Nehmad:

And we have new socks. The Go sucks. Oh, no. Wait. Go socks socks.

Shay Nehmad:

And one thing I'm most excited about, because I recently lost my hat and I need a new hat, is the Cup Go hat, the controversial Cup Go hat in two variants, white and pink. I think I'm gonna get the white one. I think I might get both. The pink one actually looks super dapper. And we still have all the old swag, the Cup O Go coffee mug, the t shirt, the sweatshirt, which is like my number one hoodie at work.

Shay Nehmad:

I just keep it at the office, super comfy. The old sticker, and the infamous, one person bought it over the last couple of years, wireless charger. Yeah. So all our new swag with the new simplified logo. Give us your feedback if you like it or not.

Shay Nehmad:

Like, we don't know.

Jonathan Hall:

And if you want something else, you know, the the the place where you're doing this has all sorts of stuff, but we don't wanna upload 10,000 products that nobody's gonna buy. If there's something you do want, though, let us know, and, we're happy to be happy to consider adding it.

Shay Nehmad:

Yes. And let us know what you think of our Lou logo. It's it's going like the same way every tech company has gone where it had like an intricate logo. It's like the Cracker Barrel thing. Now we have a simplified logo.

Jonathan Hall:

If you don't like it, we'll fire our new CEO just to let you know, to be on, you

Shay Nehmad:

know Yeah. For sure. I don't think we should fire him. I think we should just do like, we should do the Theranos thing, the FDX thing. Just throw him in jail.

Shay Nehmad:

In reality, we had to get the new logo because for the hat, has to be simple

Jonathan Hall:

Yeah.

Shay Nehmad:

For them to embroider it correctly. That's that's the actual reason this has happened. We also you also have a necktie. Right?

Jonathan Hall:

Yeah, I just got a custom made necktie. This isn't a Cup of Go specific. I used the pattern that we talked about on show a few episodes ago, and I made The

Shay Nehmad:

new Hawaii pattern.

Jonathan Hall:

Yeah, the Hawaiian shirt pattern. It also works for a nice necktie. I had this made at Zazzle, but we we could also make go ties. That's that's what we're gonna call it. If we sell a bow tie, it's gonna be called a go tie.

Jonathan Hall:

We can sell bow tie or neckties, I should say. I don't think they have bow ties on our provider. But if you would like a Brewster necktie, we can add those to the store too.

Shay Nehmad:

Yeah. We'll add them. Anyway, so lots of new swag. If you've been looking for an opportunity to buy, like, gifts for the holiday season or you just need some new socks and you wanna show support for the show, you can grab all of these off the store as well. I haven't gotten by the way, if you want if you're not, like, the sort of person that installs the RC release the moment it comes out, I ordered the the preview, prints for these, and I haven't gotten them yet.

Shay Nehmad:

So, you know, if you wanna wait for next week's episode for me to tell you if they're good or not, you you can you can wait one extra week. Alright. Let's get back to news. I'm excited to hear about these proposals.

Jonathan Hall:

Alright. All right. First up, this proposal has been accepted. I I don't recall if we talked specifically about this proposal, but we talked about its cousin or its brother or whatever. You may recall there was a proposal that was accepted several weeks, maybe months ago, to make the go fix command do nothing because it had a whole bunch of outdated stuff.

Shay Nehmad:

Yeah. To replay it was, like, deprecated or something and go vet replaces it, something like that?

Jonathan Hall:

So like the last time it was updated was to update from XNet context to context, which is like Go 1.7 or something. So it was it had some stuff in it. It's just the stuff that's completely obsolete by now. So they accepted the proposal to make it do nothing. Command doesn't delete it.

Jonathan Hall:

It just does nothing. Now they're adding functionality back into it and incorporating that into Go, please. So specifically, one of the things it does is it adds the existing modernize analyzer, which is kind of a standalone tool you can run-in the X package. It looks like it's also part of go, please, but it will run that through the go fix command. So this is stuff that already simplifies certain code examples to newer versions that are simpler.

Jonathan Hall:

So that'll be part of go fix. And then the other specific thing it does is, I think we talked about this in previous episodes also, there's a relatively new go colon fix directive you can put to inline when you add a new function that replaces an old function. Remember that conversation? So that will be part of GoFix as well, which is kind of cool because that means that GoPlease can update code that has nothing to do with the GoStudder library. If you use a GoFix directive yourself and then you update versions or whatever, Go Please will or Go Fix, I should say, will update that for you.

Jonathan Hall:

Go Fix is rapidly jumping from the 1980s to modern day in its usefulness.

Shay Nehmad:

I'm worried about, like, people using it to perform changes you wouldn't expect. That's the only thing I'm worried about with this proposal. Where do I define like, how does GoFix determine which fixes to run? Is there like

Jonathan Hall:

So I think you can I think you have to put the GoFix directly above the deprecated function? So, like, I I couldn't put a GoFix directive in my code that would tell your code to run my code instead.

Shay Nehmad:

Unless you I import your code as a library.

Jonathan Hall:

Even then, don't I would only be able to do it. And I mean, I could tell my code to call your code, but I wouldn't be able to do the reverse. Now that that might still be dangerous in some cases. Like, I don't know.

Shay Nehmad:

That that's the only thing I'm I'm I'm because it's like because people tend to trust the results of these, but then suddenly it's like, oh, I forked the supersave popular library and I could go fix it from using, like, the function. If I did that, I already owned the the supply chain thing, so I actually need GoFix two to

Jonathan Hall:

make it happen. Exactly.

Shay Nehmad:

Maybe maybe it's not actually a real worry.

Jonathan Hall:

I would I think my first concern would be people using it not knowing what they're doing or swapping code that isn't actually equivalent out of LOSS.

Shay Nehmad:

Oh, yeah. That's also that's also a potential problem. But other than all the problems, I think this actually could be useful. Cool. Yeah.

Shay Nehmad:

One, update I see here is something we don't usually mention, which is a proposal that's put on hold.

Jonathan Hall:

Yeah, so I think we talked about this a while back, adding experimental HTTPthree support. It's been put on hold, it's interesting. The reason I put this in the backlog was to talk about the reason it's put on hold. Basically, don't want to expose this functionality to the world yet as they don't want to advertise it as complete because it's still highly experimental. So they want to put it behind a Go experiment flag, which we're all familiar with.

Jonathan Hall:

If you've talked or listened at all about JSON v2, for example, that's behind an experiment right now. Different things in the past. Math ran v2 was behind an experiment flag for a while. The problem is the experiment flag is handled by the main compiler and Xnet HTTPthree doesn't have access to that. So the second the next option was we could use a build tag, but that of course makes building things a little more complicated and so on.

Jonathan Hall:

So for now, it's on hold, I think, basically until the experimental implementation is less experimental so that they can either go full on with it. Isn't that

Shay Nehmad:

a chicken and egg thing, though?

Jonathan Hall:

Kind of. If they

Shay Nehmad:

can't add if it's on hold, how can they make it less experimental?

Jonathan Hall:

I don't know the answer

Shay Nehmad:

to that. You know what I mean? You gotta move forward unless they're waiting for a specific thing. But anyways, I'm I'm sure that this will, like, move forward. And we talked about HTTPthree and what does it actually mean in the past, so you can go look up that episode if you wanna understand what this means.

Shay Nehmad:

Generally, I I think it's gonna be a really good protocol, and we should get on with, like, implementing it as as default and adding it to the library because people are not gonna notice what's gonna make their servers, like, way way better.

Jonathan Hall:

It is interesting because, like, to me, XNet is already semi experimental, I guess. They they also talk about putting it under the EXP namespace, but that makes it harder to promote to the standard library later on. So, yeah, there's like there's a lot of not quite perfect solutions to this issue.

Shay Nehmad:

It's actually it's funny, but all this process is actually agile. Right? Or actually Yeah. You wanna put it in the hands of some people to try it out and then improve and then improve and, incrementally improve. It's just what's the best way to do it without disrupting people who are using the current product, I guess.

Jonathan Hall:

I wonder if it would make sense for the Go experiment flag to be translated to a build tag so that you could expose that in your own code. Like, I've I've kinda wanted to they

Shay Nehmad:

talk about it in the in the proposal, and you can't actually do that because the build tags are maintained in the main repo or something like that. So so technically, it doesn't it doesn't suit

Jonathan Hall:

your wonder if they should change that because, like, I could see myself wanting to write code that works with the JSON v one or JSON v two, and I don't know how to do that on a code level. I don't think you can control that.

Shay Nehmad:

Anyways, it's just put on hold for a while, but I'm sure it'll move forward. And the last discussion we wanna mention is your favorite topic, clothing naked returns.

Jonathan Hall:

Yeah. So this issue has gotten some some some resistance since we announced it a few weeks ago. And there's a I guess I could call it a sub proposal to put it behind an extra flag of GoFumped. Just to recap very quickly, version 0.9 of GoFumped clothes naked returns. So if you're using naked returns, that's you know, you have a return with no variables at the end.

Jonathan Hall:

It adds the variable names for you. That's what it does. Some people don't like this, mostly for reasons I don't really agree with, but that doesn't matter because some people don't like it. And Josh Blicker Snyder, who's been on the show a few times, makes an interesting point. He says, I was really excited to see this change land.

Jonathan Hall:

However, I'm slowly coming to the position that it should be an extra. And the reason he gives, I've evangelized GoFund everywhere I've worked and in a bunch of open source projects that I have contributed to. The conversation usually goes like this. Hey, I suggest you use GoFund. They don't like it so much.

Jonathan Hall:

He sends a diff. The diff is small. Nobody objects to it. They agree. And then pretty soon they thank him for implementing GoFund.

Jonathan Hall:

Recently, he's run the new GoFund on an open source project he's on, and it had some pretty big diffs, presumably due to naked returns. And he's a little bit reluctant to ask for review of that, although he agrees with all the changes. He's not sure how well it'll go over with the other developers on this project. So for that reason, he would kind of like to put it behind the extra flag so that it's easier to convince people to use GoFund. And I agree with him.

Jonathan Hall:

Even though I can't think of a reason I don't want to use this feature, I would rather on new projects adopt the rest of GoFund without naked return changes than to not redopt it at all, if that makes sense.

Shay Nehmad:

And isn't it such a small change it doesn't actually warrant a review? Not to be a like, it why would you review it? I ran GoFund. I'm done. Who needs to review it?

Shay Nehmad:

Why do you care?

Jonathan Hall:

I suppose if I don't know. On an open source project, might. You you wanna make sure somebody isn't smuggling something in. Yeah. I generally don't review those either.

Jonathan Hall:

But for an open source, if somebody submitted me a code review on my open source project that did GoFund, I would read it line by line. So I could see that.

Shay Nehmad:

Or you would just, take main and run GoFund yourself and go diff?

Jonathan Hall:

Yeah. That would do that too. Yeah.

Shay Nehmad:

I don't know. It's obviously, it's it's more complicated than what I'm saying, but to me, it feels like, it's it's probably better. You know what I mean? Yeah. But it's the the main thing is, like, okay.

Shay Nehmad:

So it met some resistance. Is it not going in? Well, what's the decision?

Jonathan Hall:

So it's already there. No decision has been made. So this is a call for action if you care about this. No decision has been made, but Daniel Marti, the the maintainer of the project, suggested possibly putting it behind extra and, asked for people to upvote his comment if they want that. And it's gotten a small number of upvotes.

Jonathan Hall:

It looks like three upvotes so far.

Shay Nehmad:

We'll see. Anyways, it's like for the extra extra among us. Like, if you don't want it, just use the normal GoFMT, not not GoFump. Right? So it's not actually

Jonathan Hall:

One of the interesting things about this, discussion is it brought my attention to the fact that extra exists. I didn't realize it did. And there's there's only one other feature behind that flag right now, and that feature is to remove the type definitions from concurrent or the type name from concurrent types in a function signature. So if you have like string user string password, it would change it to to I'm sorry, the user string comma user password or change it to user comma password string. I said that wrong, but I hope you get the idea.

Shay Nehmad:

Yeah. Yeah. I I I understood what you got. Instead of a int comma b int, it's gonna be a comma b int.

Jonathan Hall:

Exactly. And I like that.

Shay Nehmad:

I don't like it.

Jonathan Hall:

You don't like it. So that's why it's behind extra. Yeah. I I don't because it well, sometimes I do maybe, but in general, it just makes it function sooner or longer. I have another linter.

Jonathan Hall:

I think it's part of Revive that I use with Golang CLINT that does that for me also, but I have to go manually change it. Now that I know that GoFump can do it, I can just turn that extra flag on and it'll handle it. If you have an opinion whether it should or should not be part of extra, go comment on the issue. Of course, that link will be in the show notes. Yeah.

Jonathan Hall:

That's that.

Shay Nehmad:

Cool. Cool. Cool. I think that wraps it up for the show. I don't think we even have time to do a lightning round.

Shay Nehmad:

We dove into too like like the dwarves, we delved too hungrily and too deep. We should be back. Yeah. We should be back next week with a normal episode, and then the week after that is gonna be like a live recording episode. If you're in San Francisco, you'll be able to join.

Shay Nehmad:

Sounds great.

Jonathan Hall:

See you then.

Shay Nehmad:

Program exited. Program exited. Goodbye.

Creators and Guests

Jonathan Hall
Host
Jonathan Hall
Freelance Gopher, Continuous Delivery consultant, and host of the Boldly Go YouTube channel.
Shay Nehmad
Host
Shay Nehmad
Engineering Enablement Architect @ Orca
🍪 No more all-you-can-eat Cookies
Broadcast by