🇲🇽 Café con Go, 🇨🇦 GopherCon, eh?, or 🌉 Goroutines on the Golden Gate? - podcast episode cover

🇲🇽 Café con Go, 🇨🇦 GopherCon, eh?, or 🌉 Goroutines on the Golden Gate?

Aug 29, 2025•29 min•Ep. 124
--:--
--:--
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

This episode is sponsored by Boldly Go! Need fractional Gophering work? Visit boldlygo.tech.

For everything Cup o' Go, incl. swag, Patreon, past episodes, and more, please visit our website.

★ Support this podcast on Patreon ★

Transcript

Jonathan HallJonathan Hall

I mean, this program is supported by you, our listener. Stick around till later to hear more about that. This is Cup and Go for 08/30/2025. Keep up to date with the important happenings in the Go community at about fifteen minutes per week. I'm Jonathan Hall.

Shay NehmadShay Nehmad

And I'm Shay Nehmad.

Jonathan HallJonathan Hall

Hi, Shay.

Shay NehmadShay Nehmad

How are you? Yet. Hola. We need What else? Wait. May I have more? Konnichiwa? Oh, maybe. Thank you. Baljia? Bonjour? I gotten really warm responses. Last week, we had a segment of the show in broken Russian that I tried to do because we talked about GopherCon Moscow or whatever it's called, like the Go meetup in Moscow. And the organizer messaged me later, was like, oh, your Russian was really good for a learner. And I was like, oh.

Jonathan HallJonathan Hall

Awesome.

Shay NehmadShay Nehmad

You know, I don't wanna stereotype, but you know when a Russian person is being this nice, they're actually like it's like, nice try. Oh, thank you for trying. Yeah. Yeah.

Jonathan HallJonathan Hall

Yeah. I think I've had the best compliment about my Spanish ever standing outside of a Cuban restaurant in Mexico City when I was speaking Spanish to some guy that was standing there and he says, are you from Cuba?

Shay NehmadShay Nehmad

Nice. I'm

Jonathan HallJonathan Hall

like, not at all, but I'm glad that I'm glad that you thought I had some different native Spanish accent.

Shay NehmadShay Nehmad

Yeah. The the the same thing happened to me in a a Ross conference. I was in a Ross conference and I asked some questions, a Ross meetup, like, in, Hertalia. And then someone was like, oh, so what Ross does your company do? And I was like, we actually do go. I'm just here for shits. Why are we talking about conferences and Spanish?

Jonathan HallJonathan Hall

That's a great question. I mean, part of it is that I just feel like I I'm feeling I'm feeling incredible FOMO for for, GopherCon. Yeah.

Shay NehmadShay Nehmad

We didn't go to GopherCon. Yeah. And some of our listeners did, they made it extremely noteworthy in the channel. Mhmm. Mhmm. Oh, you're not going to GopherCon? Oh my god.

Jonathan HallJonathan Hall

Stick around next week. We're hoping to get some of the organizers on the show to talk about everything we missed and what might be happening next year, which leads to what we're talking about actually right now, which is on the GopherCon Slack channel on the Gopher Slack. They're doing a poll for which city or what actually, not even which city exactly the next GopherCon should be in. The three leading options are Canada, probably either Montreal or Toronto, Mexico City or San Francisco. If you like the idea of doing Go For Con in Mexico, you should go vote.

If you like the other options, please don't go vote.

Shay NehmadShay Nehmad

Wait. Wait. Wait. Wait. No. I don't this is not the official position. I mean, I voted for San Francisco, though. I don't know if I'll be in San Francisco next year thinking about it. But it is it is cool that, like, it could be in Canada or Mexico. Like but do you think it's like this is what, will determine it? Like, right now, Canada is 96, and the the follow next following is San Francisco at 44, but this is like Slack emojis.

Jonathan HallJonathan Hall

Yeah. I'm sure this won't be the the full deciding factor, but I imagine it will heavily weigh into their decision. One thing I really I pulled out of this thread here is though somebody asked, will the will it no longer be called GopherCon US? And the answer is it never has been called GopherCon US. It's just GopherCon.

The US was sort of unofficially added when other GopherCon started popping up with their own suffixes, which of course led me to the question, what if we wanna have GopherCon on the moon? Can we just call that GopherCon or do we

Shay NehmadShay Nehmad

have to have GopherCon Luna TBD? I mean, watching watching the streaming from the moon is gonna be kind of annoying. Like, it's gonna

Jonathan HallJonathan Hall

be even slower. It it just you just set it up at a sound stage so you can fake it all. That's how that works.

Shay NehmadShay Nehmad

Oh. Okay. Again, not the official position of the Cup and Go show. Anyway. I don't know, but there are there aren't there, like, considerations? Well, actually, no. Like, can everybody go to Canada or Mexico from The United States?

Jonathan HallJonathan Hall

Yeah. American citizens certainly can. You don't need a visa if

Shay NehmadShay Nehmad

you go to the place. For the rest of the people, it's it's sort of the same.

Jonathan HallJonathan Hall

You're here on a green card, then it would depend on on your passport, what where you

Shay NehmadShay Nehmad

can go. I actually think that, maybe I'm just, like, Bay Area pilled, but I think almost everybody is, like, on a visa or on a green card or is, the the number of capital a Americans I'm talking to on a daily basis is not that high.

Jonathan HallJonathan Hall

I I do I do think as a general rule, there might be exceptions, but I think as a general rule, you can enter Canada if you're allowed to enter The US And Mexico Unless

Shay NehmadShay Nehmad

you hate unless you hate ice hockey. Perhaps.

Jonathan HallJonathan Hall

And Mexico lets just about anybody in except people from Central And South America. It's kind of what I understood from when I lived there.

Shay NehmadShay Nehmad

I do think it's a consideration, though. Like, they're probably not taking into consideration. I would, like, I would definitely love to go to any of these places, including the current GopherCon. I just wasn't able to.

Jonathan HallJonathan Hall

I I I've already told my wife I'm gonna try to go to more conferences next year, and she said, okay. This one's on my list. Whichever city it ends up in, I I intend to go, if possible. But I still hope it's in Mexico just because the food there is amazing. It's so much cheaper there. And I want an excuse to go back to Mexico, but whatevs. Let's move on.

Shay NehmadShay Nehmad

India. There's another conference.

Jonathan HallJonathan Hall

Yeah. I don't speak any Hindi, so I'm not even gonna try this one. Or or many the other

Shay NehmadShay Nehmad

languages speak the Hindi because Yeah.

Jonathan HallJonathan Hall

They speak a lot of languages and and dialects in India. But Gurukan India is coming up September. It'll be on my birthday. Yay. Oh. In Jaipur. So I think we talked about this on the show a few weeks ago, but it's a good reminder. It's coming up in less than a month. So if you're in that area of the

Shay NehmadShay Nehmad

world Speaker lineup is up now as well. Yeah. With all the talks, they look great, man. The talks look really good. There are a few very concrete ones, like, crafting a custom Kubernetes ingress controller for intelligent traffic control from, Rajani Ekunde. She's a senior SRE at Okta. Literally, you take the person working on the thing at the most relevant company and come tell us how they how you do it. That sounds like pretty good.

Jonathan HallJonathan Hall

Yeah. Should be a good one. Maybe I'll do Gopher Hunt India next year also. I'm not doing this one. Oh, interesting. We'll see. You've been to India before?

Shay NehmadShay Nehmad

I have not. A lot of Israelis, tend to do that, like, after the army, they'll do like a

Jonathan HallJonathan Hall

Oh, yeah.

Shay NehmadShay Nehmad

Hiking, trip, you know, backpacking through India sort of thing. But I just, like, immediately went for the finishing my degree and getting the apartment. This is actually my big trip being in The US. Yeah.

Jonathan HallJonathan Hall

Right. Right. Right. I had the pleasure of spending a week in Delhi back in 02/2008, but it'd be interesting to go back again.

Shay NehmadShay Nehmad

I don't know if the show can comp you, but as you said, the the the show is supported by you. So if we get thousands of Patreons, maybe we'll be able to support the the flight thing.

Jonathan HallJonathan Hall

Fly me to India, please. Send me $3 a month.

Shay NehmadShay Nehmad

For just $3 a month. Yeah. Okay. I have a news that they aren't actually newsy. It's more of a discussion. Okay. So I've done some Go work this week. I've tried to extract text from PDFs.

Jonathan HallJonathan Hall

Okay.

Shay NehmadShay Nehmad

And I started doing it with Go, search for like all the Go PDF libraries and the Go OCR libraries because sometimes PDFs, you know, the text is not copyable, you have to do OCR. Yep. And I didn't have a lot of time to work on it. It's not like a side project, it's like a business thing that I had to get done pretty quickly. Mhmm.

Jonathan HallJonathan Hall

So I

Shay NehmadShay Nehmad

was like, I really hope I could do it with Go because my current setup is in Go. I couldn't I wasn't able to. I didn't find good enough libraries. And the libraries that I did find required, like, a ton of installations other than the things I needed, specifically for OCR. So I unfortunately reverted to Python.

I had to do it in Python. I was like, man, is Python really the thing for, doing data science related tasks like data extraction and cleanup? My first question to you, am I missing something? Is there like an incredible Go data science community that I should have gone to? Am I wrong? Like, are you hearing the story and saying like, oh, Shai's wrong. He should have been able to solve this in Go.

Jonathan HallJonathan Hall

I mean, Go's too incomplete, so you can do anything in Go, right? I love that argument when discussing the merits of various languages and someone brings that up like, Yeah, that's completely missing the point. No, I don't think there's a big data science community in Go. Mean, we've had some people on the show doing various data science y things. Matt Topol with Apache Arrow. We also had Ricardo Pinoccio on to talk talking about interfacing Go with Hugging Face.

Shay NehmadShay Nehmad

Yeah. Episode 65.

Jonathan HallJonathan Hall

I feel like these are all sort of, like, bleeding edge. Like, they're just like, Go is still trying to to get its foothold in that community. I don't think you you've missed the train. I don't think it's there yet. I think it's still just trying I think it's still pretty pretty new.

Shay NehmadShay Nehmad

And you know what happened at the end? I reverted back to Go because Python wasn't good enough as well. And apparently, LLMs are the solutions to everything because extracting text for PDFs and the PDFs I'm working with are, like, slideshows, like slide So decks sort of they look nice and when you look at them, you can understand them visually. But when you just copy the text, if they use like, you know, some sort of diagram where the text isn't read top, like left to right, top to bottom, it just doesn't make any sense. Like right?

It's super garbled. But apparently, you can send the file to, GPT five now and just tell it, hey. Read it and summarize every single page correctly. And it just like worked. I mean, it does have limitations on the page or whatever and I'm working through those right now, but I'm back to go because it's just API calls, downloading files, handling errors, perfect.

There's this blog post we mentioned on the show, how to use Go for AI, which is, hey, just call the API, it can probably do it better than you. I had to go through an entire cycle of trying to solve it myself in Go, being disillusioned, solving it myself in Python and then being like, AI overloads, you win. And I just use an LM for it now. So now it's back to go. I just thought it was a funny tangent, but I did go back to go to implementing it, and there, you know, it's just standard libraries, HTTP stuff.

But I was disappointed that I was looking it feels like a very basic capability, like extract text and do some OCR. It's like the first thing you do in a data pipeline, it can find a good solution. I'm sort of putting my opinion here on the Internet, hoping people will come into the Slack channel, which is also on the go for Slack, hashtag cupago, and, like, correct me. Yeah. And they'll discover how to do it.

Jonathan HallJonathan Hall

Just post the wrong answer on Reddit, and you'll be sure to get the answer you're looking for.

Shay NehmadShay Nehmad

I could do a complaining post on Reddit. We just, moved one of those out of our backlog. It's bit behind the scenes. Why is Rust better for desktop applications? If I'll post like, why is Python better than Go for data science? And some people tell me, oh, it's Turing complete and I like the type safety. It's not what I asked. Talking about the Go blog, we mentioned the AI thing. You have one thing about testing time.

Jonathan HallJonathan Hall

Yes. Yes. I have a half written script about this topic, for a video I started on over a year ago before

Shay NehmadShay Nehmad

I moved. Need to finish that up. And we wanna keep that one for next week.

Jonathan HallJonathan Hall

Right? We're gonna keep it for next week. Yeah. Yeah. I'm gonna try to flush out my understanding of this topic, which is spoiler alert, test, the new feature that was added in Go one twenty four and made generally available in 01/25. I'm gonna try to spend some time on this, hopefully, this next week if I can to discuss it more intelligently.

Shay NehmadShay Nehmad

So we're putting it in the future, but if you're listening to this episode in the future, we may have already talked about it. Confusing. Right? That's exactly the problem this package is trying to solve. You're, like, trying to test stuff, but we'll talk about it more in-depth next week.

This week, we wanna talk about one of the blog posts they put out, again, for one of the 1.25, one and a quarter features, Go one and a quarter features that they put out, Containerware Go Max Proc. So we discussed this at length in the past. The go the blog post really breaks it down super well. So I'm just gonna summarize it and I'll I'll do it in a in a in a format I think will will help you understand it. So Jonathan, do you like doing work fast, like getting things done and feeling productive?

Jonathan HallJonathan Hall

It depends on whether I'm being paid by the hour.

Shay NehmadShay Nehmad

Okay. Okay. I know. I know. I know. But can you, like,

Jonathan HallJonathan Hall

say yes? I'll say yes. I yes. I'd like

Shay NehmadShay Nehmad

to get

Jonathan HallJonathan Hall

you so fast.

Shay NehmadShay Nehmad

Man, I can think this fast to, like, lawyer my way out of all these edge cases. Someone's like, hey. Do you wanna do a Go For Con in Mexico? And you're like, actually, Go for Con doesn't have a country on it, so can we do that on the moon? Anyway, so do you like doing work fast? Yeah.

Jonathan HallJonathan Hall

Well, I I will say yes.

Shay NehmadShay Nehmad

So if you had multiple CPUs at your behest, you would want to, like, all of them to work on things. Right?

Jonathan HallJonathan Hall

Yeah. I'd love to share my work across all of them so they can all be working simultaneously and make things done faster.

Shay NehmadShay Nehmad

That is awesome. Go has, of course, strong parallelism, with green threads, so it's not the operating system threads, and it can schedule, your work across, as many, Go routines as you want. How many do you want?

Jonathan HallJonathan Hall

A a million.

Shay NehmadShay Nehmad

Alright. A million is gonna be a problem. Right? If you can run a million goroutines, should you schedule them to, a million different real threads? Honestly, you that budget that much scheduling. That much context switching, you're gonna have a lot of overhead. Right? So there's a a thing called GoMexprox. It's been, I think, forever. I don't know since when it's been there, but it's definitely been there since I've used the language.

Jonathan HallJonathan Hall

Yeah. Me too.

Shay NehmadShay Nehmad

Which is like a flag you put in the, like an environment variable and you say like eight, and then it's like, okay, maximum processes you can have running at the same time is eight. And that's like a crude, but super, workable tool to do that. If you have Go max procs at eight and a million runnable, goroutines, Go will use eight threads to run eight goroutines at a time. Will not run, more. Right.

The reason that's so much sense is because goroutines often run for a short while and then block. Right? They read IO from the disk or wait for the network or go to sleep or whatever, and then you could switch to another thread. Very cool. If you've ever used Go on Kubernetes, which makes sense, you would want the same behavior, right?

You will want the program to use some number of processes. And if you don't put eight or whatever number, how how many should it take? The reasonable answer is how many CPUs I have. Right? On my machine, I have seven CPUs. You should run seven GoMex Pro. This is, super obvious, but this was I think this was done before Kubernetes and whatever. And then Kubernetes came along, and you're running, like, containers.

Jonathan HallJonathan Hall

Would make sense considering that Kubernetes was written in Go. Oh, you

Shay NehmadShay Nehmad

know what? I actually don't know. So Kubernetes is I don't know how long it's been. The GoMex Proxing is there from from Go 1.5. Really? I thought it was earlier than that,

Jonathan HallJonathan Hall

but okay.

Shay NehmadShay Nehmad

At Go one point five? That's basically Go one point one. That's, like, super early. No? Well, we're we're figuring it out.

It doesn't matter, but yeah. The important thing is Kubernetes clusters tend to run on, like, huge ass servers and then, you know, have smaller containers running on them. The default for GOMX Prox was logical, CPUs. So, like, the physical CPUs with hyper threading means which is basically what you have on every normal cloud machine that runs Kubernetes workloads, counts the number of cores the machine has. And in Kubernetes situation, you have a a server with, like, 128 available cores because it's a really strong server, but you're running on it containers where the pods themselves, Kubernetes pods, mean to be like small, right?

A small server. Yeah. Then you run them, you run into a problem where you're you're spawning way too many threads than what you expect. This is something I've faced, like, five times. I don't how many times has this happened to you?

Jonathan HallJonathan Hall

I haven't noticed it before. So I've definitely run Go and Kubernetes before, but I so I probably run into this, but it hasn't been an issue that we've noticed.

Shay NehmadShay Nehmad

So for for me, both in Reco, where we had Go on Kubernetes, and in Orca, where I, like, spearheaded, let's move to Go on Kubernetes, I ran into this issue twice, and I forgot about it twice, and we had a production bug twice because of this default. And I didn't even, like, contribute to the issues or anything. I was just, like, bitten by it, and now they fixed it for me, which is, I think you can expect when working with Go, the new default takes into consideration the container environment by default. So if you're running inside a container that has a CPU limit, like a pod with a CPU limit, GoMaxRox will default to that. And then as an extra added bonus, because you're running on Kubernetes, a lot of systems do like, a, increase my CPU on the fly.

Right? It's not actually moving to a new server. You're just increasing the pod limits on that server. Or more I guess more normally what happens is you you you schedule a pod with a lot of resources and then, like, cloud cost systems try to bring it down. You know what I mean?

You asked for two CPUs, but you're actually using only one 0.1 v CPUs because your server isn't doing anything because you don't have any users. So, or for other reasons, maybe your code is very efficient. So not not only it takes the the container environment max prox value, it periodically checks and updates that as well. So if you started with two CPUs and then Kubernetes decided to auto scale you to eight, your Go program will like on the fly adjust to that, which is like a huge feature to implement. If you actually had to implement something like this yourself, it could take you like a year.

Mhmm. Right? It's so complicated. Yeah. And these are the defaults of Go now, which I'm super excited about. So a brief point

Jonathan HallJonathan Hall

of clarity for the the history buffs among us. Go max prox did exist before 01/2005, but it had a default of one. 1.5 is when it switched the default to the number of single CPU cores in your system.

Shay NehmadShay Nehmad

Nice. When was 1.5?

Jonathan HallJonathan Hall

I don't know. About a thousand years ago.

Shay NehmadShay Nehmad

A million, goroutines, a thousand years. You're like,

Jonathan HallJonathan Hall

2015. It's been a while.

Shay NehmadShay Nehmad

You know? I don't know if it's before or after Kubernetes. Oh, Kubernetes was announced by Google 2014. Well, around the same time. We should have, Joe Beta and Brendan Burns and Craig McLookie in like, on the show.

Let's do If you're listening to the show, we would love to have you on the show, inventors of Kubernetes. Or if you know them, like hook them up with us. Anyway, GoMac Prox. It's a if you are running Go on Kubernetes, you should read this blog post. But funnily enough, the only thing you actually need to do is upgrade and everything will work out just fine.

And if you were using, the Uber thing, so I the way to solve this in the past has been to use auto mexprox from Uber, which was like a package that solves this for you. You just import it and it does the behavior that's now the default. You don't need this package anymore, which I is wonder if they're gonna like, you know what I mean? They're gonna put a notice on their, read me that like it's not required anymore. I'll actually I'll open that issue right now.

But, cool stuff. I I super love this feature. Honestly, it's like these sort of things that make Go when people say Go is like production or system language, this is one of these things. Right? Yeah. Like, it just makes you so much more focused on the things you actually have to solve because you don't mess around with these settings. Absolutely. That every human would know what they want the default to be.

Jonathan HallJonathan Hall

Cool. I think we have a short lighting around, but first let's talk about that Spanish language stuff I talked about. Not really Spanish language stuff, but the stuff I talked about in Spanish.

Shay NehmadShay Nehmad

Yes. Da. No. How do you say oui. No. Oui is French.

Jonathan HallJonathan Hall

Si.

Shay NehmadShay Nehmad

Si.

Jonathan HallJonathan Hall

Alright. AdBreak time.

Shay NehmadShay Nehmad

As Jonathan mentioned at the top of the show, this show is supported by you. The easiest way to support us is to well, not the easiest way. The most direct way to support us is to join us on Patreon. We have a Patreon to support the show. It's a hobby. We do it for fun, but it's expensive, mostly for editing and hosting fees. So if you wanna support us, you can. We really appreciate our audience for staying and joining. This week, we have a new, joiner. We may have mentioned you last week.

I don't remember, Charles Crouch. Thank you for joining. And all the recent, joiners. I feel I feel like people enjoy the new Cup of Gopher mini subscription layer. I do wanna remind you if you have subscribed to the show and you're doing it using Apple, like your Apple device, don't. Please do it through the web because they're just taking a cut and it makes makes it more expensive for you for no reason. Just go into your web browser and do it from there.

Jonathan HallJonathan Hall

Tim Cook needs a new yacht though. Come on.

Shay NehmadShay Nehmad

I don't know. I live next to all these people now, you know? I mean, like, Zuckerberg and and Tim Cook and all these people, like, my neighbors here in in the Bay Area. So I don't I don't wanna badmouth them. Alright.

Jonathan HallJonathan Hall

Well, we'll say hi next time you see Tim.

Shay NehmadShay Nehmad

If you wanna reach this Patreon link or our Slack channel or all the past episodes or all of the our swag store with, hoodies and cups and whatever. You can go to cupogo.dev, that is cupogo.dev to find all the things. And finally, you can, email us @newsatcupogo.dev. Awesome. One other way to support the show is to leave a review or mention us on, like, lists and whatever on Spotify, Apple Podcasts, wherever you listen to your podcasts. We got mentioned on some list of, like, top 60 things.

Jonathan HallJonathan Hall

Beadspot? Beadspot, I think?

Shay NehmadShay Nehmad

Yeah. I don't think they actually listen to the show. Think it's some sort of an aggregator, automatic aggregator, but still nice of them to mention us. Thank you. And if you're, like, an avid listener and I just, like, misread it, then sorry. Let me know. You are looking for clients.

Jonathan HallJonathan Hall

Yeah. You can also sponsor me directly and maybe more directly help me fly to India for GopherCon next year. I'm looking for new clients. My contract that I'm on right now is ending at the end of the month, September. So if you could use some fractional architectural work on your Go project, hit me up.

Shay NehmadShay Nehmad

Where can, we find these, beautiful services? Yeah. Boldlygo.

Jonathan HallJonathan Hall

Tech is the best place to find me.

Shay NehmadShay Nehmad

Boldlygo. Tech? That is boldlygo. Tech. And, you know, there's a lot of great content here. Funnily enough, Cup of Go is not mentioned even once, like, on the on your page.

Jonathan HallJonathan Hall

Maybe I should do a better job of

Shay NehmadShay Nehmad

No. Supporting the don't know. But the the there is a Boldly You can do, like, a dev subscription, world class Go development for a fixed monthly fee. And with a bold claim, talking about boldly Go, you're already running my code in production. Care to explain?

Jonathan HallJonathan Hall

Well, yeah. I have contributed a large number of open source projects written in Go, including Go itself, Echo, Framework, the Sentry SDK, Logris, if you're still using Logris instead of SLOG, TORP, several and many that aren't listed there, packages you probably use that don't have big brands behind them.

Shay NehmadShay Nehmad

You could join, companies like Unity, Canonical, Deliveroo, booking.com, and Teamwork to run a Jonathan's cloud in the back end, including some customer testimonials here that say that there are unexpected outcomes. They should have specified a positive.

Jonathan HallJonathan Hall

Yeah. The

Shay NehmadShay Nehmad

mentorship, that Jonathan provided to engineers that were newer to go, or they improved testability, productivity, and maintainability, of the of the code base vastly improved.

Jonathan HallJonathan Hall

Other unexpected outcomes might include snarky comments in Slack and and bad jokes.

Shay NehmadShay Nehmad

Yeah. So go do that. Link in the show notes. If your company could use that, that makes a lot of sense. Let's go to the lightning round. Let's do it. Lightning round. First of all, Dreams of Code, who was on the show?

Elliot

My name is Elliot. I run the Dreams of Code YouTube channel on YouTube, which creates video contents about software development. I actually run two channels. I also run another one, which is a little bit more focused on Linux, self hosting, and open source, but Dreams of Code

Shay NehmadShay Nehmad

is my biggest one. Has the command line applications in Go course on his course platform, which if you've been following his YouTube channel, he's like been building everything end to end, like in Go and I think HTMX or whatever, including the like, he did the whole thing. So, you know, it's like a a real labor of love from a a proper engineer working on it. And there's an early bird offer for the full course, $200. $1.99. $1.99. Yes.

Jonathan HallJonathan Hall

Not sponsored, by the way. We're not getting any

Shay NehmadShay Nehmad

kicks Yeah. Back on not sponsored. I just I looked at, like, the lessons and how they're structured, and I think they are, probably really good. Like, it starts with, basic introductions and using Go, and the only place where you introduce, like, the cool packages on how to build like fancy stuff is one lesson before the end, SQC and Bubble Tea and whatever, which is exactly the way to do it, right? Learn the fundamentals and then add the fancy stuff on on top.

Awesome. And I just, think it's it's probably really, really good. So it's it's currently, off. Actually, the early bird ends August 2025. So you have the moment you're listening to the show basically to buy it.

Jonathan HallJonathan Hall

Go

Shay NehmadShay Nehmad

now. Seventeen hours of content with 120 lessons. So I don't know. I I think it's probably pretty good.

Jonathan HallJonathan Hall

Sweet. You know what else is pretty good? I can't remember what this is about. Sequel Light. We we talked about this show.

Think was it a year ago? We had a series of of episodes where we talked about Sequel Light because there were new drivers coming out, and I think we had the author of one of them on the show. But it's a good time to bring up again the GoSQLite benchmark repository, which benchmarks a whole bunch of different SQLite libraries in Go. Some are written in CGO, some are written in pure Go, some use the database SQL library abstraction, some don't. So there's a library there for you no matter what your specific SQLite needs are.

Go check it out. Link in the show notes.

Shay NehmadShay Nehmad

Yeah. And the the benchmark does state that there's a a clear winner. SQN, I don't know how they're maybe SQN, is, like, definitely the the fastest, which is, interesting. It it uses, like, just STDIN directly into SQLite.

Jonathan HallJonathan Hall

That's really a curiosity to me. So it's talking to the SQLite binary just compiled in C over standard input and output.

Shay NehmadShay Nehmad

And somehow it's the fastest, which is not what you'd expect. So it's a benchmark, which is fastest? What's the best one?

Jonathan HallJonathan Hall

I would expect the fastest one to be the one written in Sigo.

Shay NehmadShay Nehmad

So the actual answer here is, this benchmark is is smart. It takes a lot of cases into consideration, but it has a simple case and a real case. The real case is like insert a 100 users and then 20 articles per user, then 20 comments per article, and then a separate transaction, blah blah blah. And there's no real clear winner. It depends on the use case.

It does seem like a SQN or SQN is pretty fast, and it's interesting as well because it uses, only STDN. But this is lightning round. We're not gonna go into details. If you need to benchmark your SQLite, you can read this, you can take a look

Jonathan HallJonathan Hall

at this benchmark. Lightning fast discussion about lightning fast benchmarks.

Shay NehmadShay Nehmad

Yes. And that does it for our show for today. Thanks for listening. Program exited. Program

Jonathan HallJonathan Hall

exited.

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