Where is the "Advanced Mode" switch? - podcast episode cover

Where is the "Advanced Mode" switch?

Aug 23, 2024β€’20 minβ€’Ep. 76
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

β˜… Support this podcast on Patreon β˜…

Transcript

Jonathan HallJonathan Hall

Hello. This show is sponsored by you, our listener. Stick around till after the news to hear a little bit more about that. This is cup and go for August 23, 2024. Keep up to date with the important happenings in the Go community in about 15 minutes per week. I'm Jonathan Hall.

Miriah PetersonMiriah Peterson

And I'm Miriah Peterson.

Jonathan HallJonathan Hall

Miriah Peterson? You're not shy.

Miriah PetersonMiriah Peterson

I am not.

Jonathan HallJonathan Hall

Tell us who you are.

Miriah PetersonMiriah Peterson

I'm Mariah. I, am one of the North America based Google Developer Experts for Go. I stream Go on Twitch. I, have a couple of Go workshops and courses I've done with O'Reilly Media, and I just love Go. I've been doing it forever. I have a Go conference and a Go meetup, so I just people tell me that if I were to cut my leg, I would just bleed Go. So Well,

Jonathan HallJonathan Hall

your hair is already the right color.

Miriah PetersonMiriah Peterson

My hair is blue. Yes.

Jonathan HallJonathan Hall

Awesome. Well, thanks, Mariah for filling in for Shai so that he and I could both take breaks. He's taking a break this week. I'll take a break next week. Gives us a chance to have personal lives too. Let's talk about some news. The big thing, of course, we all know is Go 1.23 has been released. What's your favorite feature coming out in Go 123, Mariah?

Miriah PetersonMiriah Peterson

Well, I mean, has anybody stopped talking about iterators? Range over 5 can iterators?

Jonathan HallJonathan Hall

Keep iterating over that topic forever.

Miriah PetersonMiriah Peterson

Pretty much.

Jonathan HallJonathan Hall

That's the big one.

Miriah PetersonMiriah Peterson

It's definitely the big one. I, haven't really paid much attention. I mean, I read through it, but I that was kinda, like, the only thing that gets stuck in my head anymore is is iterators and more iterators.

Jonathan HallJonathan Hall

Yeah. Yeah. So have you had a chance to play with the new iterators?

Miriah PetersonMiriah Peterson

I have not. Okay. But a friend of mine did make a PR for the Go Parquet library using iterators.

Jonathan HallJonathan Hall

Okay.

Miriah PetersonMiriah Peterson

So that was his first one. I read through it. It looks really nice. I would approve, but I'm not a maintainer of Parquet Go. So

Jonathan HallJonathan Hall

Oh, yeah.

Miriah PetersonMiriah Peterson

You know.

Jonathan HallJonathan Hall

Alright. Well, I've I've played this a little bit, and I I think it's fun. But if people who are listening are interested in learning about this, where do you think they should go to learn about this?

Miriah PetersonMiriah Peterson

Well, the Go team just released the official blog post by Ian Lance Taylor about Range Rover Funk. It is, basically his GopherCon talk condensed into written form. I was sit I was at the GopherCon talk. It was the last talk of the conference. So to say that I was paying attention is an overstatement.

Everybody was we we were just trying to not fall asleep. But he walks through a lot of examples in the standard library about where iterator patterns exist now, kind of how they're implemented now, and and places where they want to improve the standard library using this pattern, and examples essentially for how to do that. There the examples always feel canned in a public broad code. Like, in in those kinds of blog posts, I feel like. I I I wanna see it implemented.

Like, I wanna see the code that actually is doing the hard work, not just code that runs for demos. But it was Right. It's definitely got a lot of examples in there, and it's really good.

Jonathan HallJonathan Hall

So I just finished my series. I read a daily, email about Go. If anybody's interested in signing up, it's boldly go. Tech/daily. You could sign up there.

But I just went through the new, section in the spec, and they have a really, in my opinion, ridiculous example of iterators there. Not that it's a bad example. It's just not at all intuitive. Like, I would expect a really simple example there of, like, here's how you range over a list of ingredients for a recipe or something. But it's actually tree walking, which is quite clever. It does tree walking with an iterator.

Miriah PetersonMiriah Peterson

Okay.

Jonathan HallJonathan Hall

It's quite clever, but it's not at all intuitive. You know, it took me a while to even understand how it was working. So it's really hard to find good examples for this sort of stuff, isn't it?

Miriah PetersonMiriah Peterson

I agree. I agree. It's, like I said, I wanna see some, like, the blog post of somebody that said, hey. Look what I implemented in my open source project, and we have it deployed to x y z. And that that's what I'm waiting for. And I think, it should be the the it's not too far off. They went so fast when generics were released to saying, look at me doing generics. I'm sure that this will come Yeah. Just as fast.

Jonathan HallJonathan Hall

Awesome. Let's talk about conferences. You mentioned, that you have a conference and a beat up, and your conference is coming up. Tell us about your conference and and what is coming up.

Miriah PetersonMiriah Peterson

What is coming up? There's a lot of things coming up. We say that conference organizers stick together and we just kinda all find each other on the Internet. So my conference is Go West. It's in Utah where I am based.

It's a single day, one track, conference, I'll go on October 25th. The speakers are out. The schedule's out, but we are still accepting lightning talks for anybody that's coming. And then that, I believe, is the last US based Go conference this year. But then there's 2 more conferences this year after it that are back to back, GopherCon Singapore and GopherCon Australia. And their CFPs are still open.

Jonathan HallJonathan Hall

So We'll have links to all of that in the show notes, of course, if you're interested in, somebody could talk to one of those those conferences. I see you have Lane Wagner coming, to speak at Go West.

Miriah PetersonMiriah Peterson

Lane is. He is local. He's local to Utah.

Jonathan HallJonathan Hall

Uh-huh.

Miriah PetersonMiriah Peterson

So I've known him from the meetup scene for a long time, and he could not make it last year because he had a conflict. He went to some gaming conference. And so this year, I snagged him before he could go anywhere else to come give a keynote. We love one of our our big emphasis is is trying to get local speakers, local GoDevs to come talk, because it makes people come back to the meetup. And so the fact that Lane is local, he runs boot.dev.

He has huge contacts to, like, everyone because of his podcast, which you were on, I believe.

Jonathan HallJonathan Hall

I was on his podcast, and he's been on this one as well. Yes.

Miriah PetersonMiriah Peterson

Yeah. So, yeah. Lane's gonna be our opening keynote. I'm really excited to have him talking about Go.

Jonathan HallJonathan Hall

I wish I could be there. I'll be in the middle of an international move at the time, but maybe, maybe next year I can make it.

Miriah PetersonMiriah Peterson

The the videos will all be available online if you can't make it. But, yeah, next year, we we happen every year. So same place, always in October. So it's a great great little conference.

Jonathan HallJonathan Hall

While we're talking about conferences, we have some news from Gofer Con UK. For those of you who are not in the UK, they have just uploaded a ton of videos, from from their conference, 12 videos. So you can go check out Gofer Con UK's content without buying a ticket to the UK. Have you seen any of these yet, Mariah?

Miriah PetersonMiriah Peterson

I haven't. I knew some of the people that were going. I knew that it happened. It's one of the stops on Bill's Kennedy's oh, let me go do a workshop. So he posts when he's there on Twitter. Their lineup looked fantastic. It looks like a fantastic group of speakers. So I'm excited to watch those talks afterward, but I have not had the chance yet.

Jonathan HallJonathan Hall

Me either. I'll I'll make a point to do that later on. One last conference I do wanna mention, I was just asked to speak at this one, but I unfortunately, I won't be able to for the same reason that I won't be able to attend yours, and that is that I'm moving. But Feinconf is coming up. The actual conference is in, Berlin, in September.

The CFP closes today, though. So if you wanna speak there, Hurry closes today, August 23rd. But that should be a great conference if you're interested in GUI programming, in Go.

Miriah PetersonMiriah Peterson

Yeah. We had Andy Williams speak at my conference a couple years ago.

Jonathan HallJonathan Hall

Awesome. Yeah. He's a great guy. I I got to meet him at, Fosdham. We we were both speaking at the GoDev room there, in February. So a lot of fun to hang out with him.

Miriah PetersonMiriah Peterson

I'm glad that Fine has a conference and is still picking up steam.

Jonathan HallJonathan Hall

Have you used Fine before?

Miriah PetersonMiriah Peterson

No. I avoid anything graphical because apparently, I'm really bad at it. Like, I'm not allowed to edit our conference website because I mess it up. So I just as far to the back end as you can go is where I try and stay.

Jonathan HallJonathan Hall

I'm probably in the same boat, but I'm I'm trying to do some I'm I'm trying to play with it. I just started using fine actually this last week for the first time. Too early to say, first impressions, but I'll, keep the audience updated as I perform an opinion.

Miriah PetersonMiriah Peterson

I mean, it is it is definitely our highest viewed video from conference recordings. So it's got it's got a big following. Yeah.

Jonathan HallJonathan Hall

Yeah. Very cool. We have one proposal that I wanted to talk about today. Actually, we talked about it before, but it's been accepted. This was the proposal to add context to tests, and I'm I'm actually quite excited about this. I don't know if you listen to that episode, Mariah, or if you have an opinion on this. What do you think about the idea of adding context to tests?

Miriah PetersonMiriah Peterson

It would be like to the the test function itself. Right?

Jonathan HallJonathan Hall

So so like the the t object, the test the testing dot t, what couldn't you couldn't get a context out of it that will

Miriah PetersonMiriah Peterson

cancel the task as Oh. Yeah. Oh, I I kinda like that. I think there's a lot of value there. I I don't see any value in my immediate use cases. It like, if I were to say, oh, am I gonna take this and put it in at work? No. Because we need to just use the HTTP test package right now. But, like, any anything where you have to start doing synchronous not synchronous, but, like, using the sync package, trying to do any kind of coordination, there's a ton of value with that. Yeah.

And if you wanna make sure that you can, you know, trigger a context dot done and get the full, like, you know, cascade from it, that would be a great great thing to have.

Jonathan HallJonathan Hall

Yeah. I was wanting it just recently, I was doing some stuff with test containers. Test containers takes a context, and when the context is canceled, it cleans up the container. And so it would be nice to sort of tie that to the testing context so that when I'm done with my test For sure. Clean everything up, without this sort of it's not it's not like it's a big deal in that particular case.

If I if I just cancel, it cleans up anyway. But I I like to I like to be tidy and clean up the right way.

Miriah PetersonMiriah Peterson

Yeah. It it it's a it's a good orchestration tool. Right?

Jonathan HallJonathan Hall

Exactly. Yeah. Yeah. Yeah. So that did not make it to 1.23, although it was actually merged before 123 was released. But after the freeze, so it'll bake it into 124. So, something to look forward to in 6 months. So that's the main news for this week. Let's do a lightning round, Mariah.

Miriah PetersonMiriah Peterson

Lightning round.

Jonathan HallJonathan Hall

Do you have something you wanted to kick it off with?

Miriah PetersonMiriah Peterson

I do. Yeah. Matt Holt, the, creator and one of the maintainers of Caddy, leased a new open source project called Timeline Eyes. It lets you collect and store your personal data on your local computer, and it organizes it into a timeline. So you can export your things from YouTube and Facebook and Gmail and and all of those, you know, mass export things, put it on your local hard drive, and then you get to explore it.

Can use, geolocation, time, lots of different search measures. It's pretty cool if you want to keep track of all your data that's out there and have a copy of it, you know, in case somebody's server goes down.

Jonathan HallJonathan Hall

That does sound cool. Can't imagine I'll overuse it because, that sounds like effort. But it does sound cool. Like, if if I were to have done it, I would be happy I did it.

Miriah PetersonMiriah Peterson

Yes.

Jonathan HallJonathan Hall

The last few weeks, Shai, in particular, has been excited about some of these, gRPC posts coming from kmcd.dev, the good parts and the bad parts of gRPC. He has a new article out now called gRPC over HTTP 3. So if you're interested in diving further down that gRPC rabbit hole, check out that one. And I wanted to mention one. This is actually a fork of a project.

It's my own fork of a project related to some gRPC work I'm doing. I'm just doing fine. I'm starting to find, and I wanted to do gRPC to talk between my fine application and my back end. I wanted my back end, or I wanted my front end to build on the browser using WASM, which doesn't support, making socket connections that I need. So I have to do gRPC over web sockets.

So the package is, github.com/flimzy/wasmws, as in WebSocket, and it's a fork of another one. I've submitted some pull requests upstream. Hopefully, they get merged and my fork can go away. I don't really main aim to maintain this, but I've added some features that I needed, make it more configurable and actually make it so it compiles for the back end so I can run my tests locally without having run my test in my browser. So, if you're interested in gRPC over websockets or just interested in websockets in web assembly, check out the package.

Link in the description.

Miriah PetersonMiriah Peterson

Yeah. Good luck.

Jonathan HallJonathan Hall

Okay. Welcome to Mariah 3. I am gonna cut in right there and just interrupt the conversation. Mariah and I kept talking for several minutes. Stick around to hear the rest of the conversation.

It was interesting and fun. But first, I just wanted to say thanks to all our patrons for supporting the show. Thanks Thanks for listening. If you find this show useful and educational, please share it with a friend or a colleague or a fellow student. You can reach out to us if you want to if you have feedback or news items to share or anything else.

Cupago.dev is the website. You can also find us on the go for Slack in the cup dash o dash go channel where we like to chat about news items and go items and sometimes silly things. Pretty informal. We have about 400 almost 4 100 50 people on that channel now, so come join us over there. You can also buy some swag if you'd like some, new transparent stickers that look great on leather according to Shai who posted that recently on our Slack channel.

We have t shirts. We have mugs. Of course, we have mugs. We have cups. You can find all that over at cupago.dev. You can also sign up to be a Patreon supporter there. Back to the conversation with Mariah. We did it. We did it in 15 minutes. We did it super fast. I think you talk less to Shai.

Miriah PetersonMiriah Peterson

Oh, I ramble. I just maybe my my my my anxiety is is getting the better of me, and I don't quite have enough rambles in me. You didn't ask me about anything that I find controversial yet. So Oh, okay. Well, would you like me to?

Jonathan HallJonathan Hall

Oh, do I have anything controversial about Go? Probably not. Well, no. That only happens when

Miriah PetersonMiriah Peterson

I go to work and I see people creating their own queues in Postgres after using Pubs. Like, you know, it's just general just general, like, software things. I'm like, why are you repeating work?

Jonathan HallJonathan Hall

Alright.

Miriah PetersonMiriah Peterson

Something I was listening to your your your thing your podcast yesterday, like, a whole bunch of them. And I went back to your interview with Alice from the Go team about and who's doing Go experience. I was talking to her about that. And so I have connections with other people. Like, I talked to O'Reilly people and a lot of, like, content creators and stuff. And it seems like most of the content people consume who aren't, like, is, like, entry level Go stuff.

Jonathan HallJonathan Hall

Mhmm.

Miriah PetersonMiriah Peterson

But it seems like people that the Go team interact with are experienced GoDevs. So I'm wondering, like, my thought is, do you have any thoughts on where that disconnect is? Like, why when do people quit caring about entry level, but then only care about stuff that people who've been doing Go for 10 years care about?

Jonathan HallJonathan Hall

When do people stop caring about entry level?

Miriah PetersonMiriah Peterson

Yeah. It's like, oh, I'm doing the the intro to Go course. And then that's a chunk of content. And then we have content for people who've been doing Go for 10 years. Like, there's no, like, intermediate Go. There's no, like, you know.

Jonathan HallJonathan Hall

What does intermediate go look like?

Miriah PetersonMiriah Peterson

I don't know. I think it's like there's beginner go and then there's advanced go. I'm trying to figure that like, that's the gap in my head that I'm trying to figure out. It's like, what is what are we missing?

Jonathan HallJonathan Hall

I wonder if isn't such a thing as intermediate. Or or maybe a better way to put it is, like, there's not a such thing as advanced Go.

Miriah PetersonMiriah Peterson

I want sometimes Go simplicity, I think, is part of it. Right? Like, it's such a easy language that it's like, okay. The is the use case easier, the use case hard, like, the language isn't

Jonathan HallJonathan Hall

Mhmm.

Miriah PetersonMiriah Peterson

Kind of a thing. But I just don't yeah. I I'm trying to, I guess, put myself in, like, where's the content I wanna consume kind of a thing too.

Jonathan HallJonathan Hall

So so, like, I kinda felt like, setting up gRPC over WebSockets for WebAssembly was gonna be kind of a complicated thing to do, and it took me a day. It wasn't it wasn't that difficult. And I I've had that experience several times or something or or like like with the iterators, I thought this is gonna be kinda kinda confusing. I'm gonna I have a weekend. I'm gonna dive in and figure out how these new iterators work.

And within an hour, I had it working. I was like, this is this is easy. Like, I haven't found that advanced mode switch yet. I keep looking for it. You know? And I I think it exists. Like, if you start doing c go or something, you know, or you start compiler optimizing, maybe that's the advanced level go stuff.

Miriah PetersonMiriah Peterson

Maybe yeah. Just yeah. Let's do compiler optimizations. I don't know. I yeah. I have I I may maybe you're right. Maybe there isn't an advanced Go. So I've just I don't know. I I I'm just here sitting here saying, like, what content can I create next? Oh, you only want intro to Go stuff? Great. So I'll just build whatever I want, and that's it. There's my content.

Jonathan HallJonathan Hall

And I remember when I did Pearl many, many years ago, there was certainly beginner Pearl and then intermediate Pearl and advanced Pearl. Yeah. Because because there's so many layers to uncover in that language. You know, there's all these magical things happening, and you learn all these weirds you know, all the weird ways and corner cases how types are handled in different ways. You don't have that in in Go with with rare exceptions.

Like like, I would say that the the way that, what I think the 123 changes the way the the timers are cleaned up. Understanding how that works is kind of advanced, but you don't need to understand that unless you're trying to optimize that specific feature.

Miriah PetersonMiriah Peterson

That's that's how I find it. Yeah. No. I I guess I I see that I'm like, yeah, you don't there's just, like, probably 10% of Go you will never touch. And as soon as you touch it, you better understand how it works. But for, like, 90% of your use cases, you you you just have great it's a great easy language to do almost everything. Okay. We're on the same page there. Yeah. I'm just trying to make it make sense in my head. Why isn't it harder?

Jonathan HallJonathan Hall

I'm curious what our listeners think if if anybody thinks that go Yeah.

Miriah PetersonMiriah Peterson

For sure.

Jonathan HallJonathan Hall

Is advanced is there advanced mode? What was it for you?

Miriah PetersonMiriah Peterson

Sometimes I think turning up as soon as we turn off the garbage collector, we've hit advanced mode. But, sometimes I tell people if they don't wanna use a garbage collector to just go write Rust. So

Jonathan HallJonathan Hall

Yeah. Yeah.

Miriah PetersonMiriah Peterson

There's my hot take.

Jonathan HallJonathan Hall

There's a hot take. Alright. Anything else controversial we could talk about?

Miriah PetersonMiriah Peterson

I don't know. I'm I'm good. I'm good for now. I'll come you know, if you have me back, I'll come with all of the all of the, unpopular opinions.

Jonathan HallJonathan Hall

Okay. Well, we'll hold you to that. We'd love to have you back again.

Miriah PetersonMiriah Peterson

K.

Jonathan HallJonathan Hall

Why don't you tell everybody where they can find you on Twitch and, anything else that you wanna wanna plug?

Miriah PetersonMiriah Peterson

Oh, that's a good call. So best place to find me is definitely either, Twitch or I don't know why I'm on LinkedIn so much. So Twitch, I am soypeek tech, all one word. I also have a link tree that's soypeek soypeek_tech. People say, where does that name come from? Soy is I am in Spanish, and Pete is my last name. Peterson. So it's I am Pete. Anyway, people get confused and think I do I'm a soy dev, and I'm like, no. I don't do front end.

So, yes, soypeek tech on Twitch. I stream every Friday. We do all go and then I publish go stuff on Substack and LinkedIn. So if you're interested in that and it's all on my Linktree. So that's my version of a personal website.

Jonathan HallJonathan Hall

Cool. I'll have links to all that in the show notes too if it's hard to remember. If you don't know how to spell soy because you don't speak Spanish.

Miriah PetersonMiriah Peterson

It's the same in English. But yes. Yes. If if you got confused, soy, you don't speak Spanish, it doesn't make any sense anymore. We'll add links.

Jonathan HallJonathan Hall

Awesome. Thanks, Mariah, for joining me. It's, been a pleasure to meet you and, talking about the Go news.

Miriah PetersonMiriah Peterson

Yeah. Thanks for having me.

Jonathan HallJonathan Hall

Alright. We'll talk to you later.

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