Cup o' Go

Stay up to date with the Go community in about 15 minutes per week

➿ Jonathan and Josh iterate through the Go 1.24 changes and related proposals

Go 1.24rc1 is out. Start testing it!golang.org/x/net v0.33.0 released with security patches for golang.org/x/net/html🇸🇬 GopherCon Singapore coming up, Jan 22-241.24 in preview🧶 New iterator functions added to the bytes and strings packages🗺️ sync.Map has a new, faster implementationThe testing package's T and F types now expose a Context() methodProposals➿ x/exp/xiter: new package with iterator adapters🗂️ os: add iterator variant of File.ReadDirLightning round🌈 Bifröst is an advanced SSH server, written in Gogithub.com/gliderlabs/ssh wraps the crypto/ssh package with a higher-level API for building SSH servers👩‍🍳 Go Recipespi.dev, generate podcasts for the repos you lovesketch.dev, Go playground alternative ★ Support this podcast on Patreon ★

12-20
22:20

Update your crypto! And Go 1.24 preview

golang.org/x/crypto security updateGo 1.24 draft release notesBlog: What's missing from Golang Generics? by Nick TobeyLightning RoundBlog: Weak Pointers in Go: Why They Matter Now by Phuong LeOrchestrion: Compile-time auto-instrumentation for GoBuilding a distributed log using S3 (under 150 lines of Go)Video: Rethinking Domain-Driven Design in Go: From Myths to Reduced Project Complexity by Robert Laszczak ★ Support this podcast on Patreon ★

12-13
28:01

One and two and three and four and proposals!

Go 1.23.4 and 1.22.10 releasedProposalsAccepted & implemented: testing: shuffle seed should be different when -shuffle=on and -count flag is setCLNew: cmd/vet: add check for sync.WaitGroup abuseAccepted: cmd/vet: warn about structs marked json omitemptyNew: runtime/mainthread: add mainthread.Do for mediating access to the main threadLightning Roundgithub.com/bitfield/qrand -- Quantum random numbersBlog post: I stan clearing maps, no cap by Phil Pearl ★ Support this podcast on Patreon ★

12-06
21:02

🔏🇺🇸 The FIPS Episode including an interview with Alex Scheel

This week Jonathan and Shay go deep into FIPS, cryptography, and security, and interview Alex Scheel about it as well!ProposalsGo moves toward FIPS-140🎚️ crypto: mechanism to enable FIPS mode #70123🎛️ proposal: cmd/go: add fips140 module selection mechanism #70200↪️ crypto/tls: add ConnectionState.CurveID #67516Community👮 Writing secure Go code by Jakub Jarosz🧳 r/golang - Who's hiring - November 2024Ad break🔗 Find all the links, including Patreon, on cupogo.dev.🤝 Follow us now on LinkedIn.🗼 KeepHQ! AIOps for the masses.Interview with Alex Scheelcipherboy~, Alex's siteFIPS 140-3 Security Requirements for Cryptographic Modulesthe cryptopals crypto challengesManage, store, and distribute sensitive data with OpenBao ★ Support this podcast on Patreon ★

11-23
01:01:19

🎂 ¡Feliz quinceañera a Golang! 🪅

🇩🇪 Hannover Go meetup, Nov 19🎂 Go Blog: Go Turns 15 📊 Video: The Business of Go by Cameron BalahanProposalsAccepted: End support for macOS 11 in go 1.25New discussion: Memory regions🗲 Lightning round🛞 Watermill 1.4: Event-Driven library for Go🛩️ Package singleflight provides a duplicate function call suppression mechanism.🧟 Creating a Brainrot Language Server in Golang by Jitesh Kumar SahooFollow us now on LinkedIn! ★ Support this podcast on Patreon ★

11-15
29:10

🎆 70,000 Go issues, and still going strong, Terraform for Factorio, and John Crickett on learning without LeetCode

Go 1.23.3 and 1.22.9 releasedProposalsAccepted: 📂 Safer file open methodsLikely accept: Drop macOS 11 support for Go 1.25🎆 The Go project recently passed the 70,000 issues on GitHub, with net/http: short writes with FileServer on macos🇮🇹 GoLab tickets still available, Florence Italy, Nov 11-13Reddit: Is there a path forward for Go's yaml situation?Factorio RoundFactorio server managerFactoCordmapshotterraform-factorio-providerInterview with John CricketCoding ChallengesLinkedInYouTubeX/Twitter ★ Support this podcast on Patreon ★

11-08
01:03:13

🌳 Roots & Trees: OpenRoot, and Cedar to the rescue for access control

🪜 The Go Remote Meetup is looking for a new organizer. Step up!Interview with Wilken Rivera of the Go Developer Network, Episode 32ProposalsAccepted: add slog.DiscardHandlerPrevious discussion in Episode 80Accepted: enable GOCACHEPROG by defaultPrevious discussion in Episode 85📂 Likely accept: Safer file open functionsPrevoius discussion in Episode 66🏃 Active: Cache final output binaries for go run🌩️ Lightning RoundBlog post: Optimising and Visualising Go Tests Parallelism: Why more cores don't speed up your Go tests by Robert Laszczak🧶 Plushies as Code: Gopher crochet pattern by Alcione Ribeiro🌳 Interview with Justin McCarthy of StrongDMStrongDMCedar Languagecedar-go on GitHubRego policy languageZanzibar: Google’s Consistent, Global Authorization SystemCedar BlogContact Justin by email at justin@strongdm.com ★ Support this podcast on Patreon ★

11-01
58:43

Improved Go cache interaction coming in 1.24? Plus extended discussion on technical writing

IRL Go meetings🇫🇮 Helsinki Go meetup, Nov 6🇦🇺 GopherConAU, Nov 6-8ProposalsLikely accept: enable GOCACHEPROG by defaultBlog postsTwo common Go interface misuses by Konrad ReicheMocks Aren't Stubs by Martin Fowler🌩️ Lightning RoundReddit FAQ: GUI Solutions for GomiQT, MIT-licensed Qt bindings for Go🧻 pgroll, Zero-downtime, reversible, schema migrations for Postgresburrow, Go database migration toolTechnical documentation discussionVale, brings code-like linting to prose✍️ write-like-a-pro🏊‍♀️ swimm.io ★ Support this podcast on Patreon ★

10-25
01:00:23

🏕️ BIG questions: "Is excel immortal?" and "Is Go the right choice for my startup?"

Happy Sukkot 🏕️! Find John & Shay at cupogo.dev, where you can find links to our Slack channel, Swag store, Patreon community, and the entire Cup o' Go episode archive.MeetupsGoUAE meetup, Oct 26Go LiepzigProposalsproposal: net/http: customize limit on number of 1xx responses (FInal Comment Period)CommunityIs Go the right choice for my startup?Lightning roundcopyloopvar issue: Detect loop vars unnecessarily passed as parameters to goroutines?psql-wire: PostgreSQL server wire protocol. Build your own server and start serving connectionsnew release: Excelize v2.9.0Is Excel immortal? ★ Support this podcast on Patreon ★

10-18
24:36

🌬️ Air, Windows, and Shelves; Promise this is about Go! Plus, Willem.dev talks freelance Go Web Development

News🧑‍🔧 Go 1.23.2 + 1.22.8 released, mostly backports of fixes ⏲️ High-Resolution Timers on Windows🌬️ New release for Air🔨 Interesting post about code shelf lifeInterview with WillemSite: https://www.willem.dev/Twitter: https://x.com/willemschotsLI: https://www.linkedin.com/in/willem-schots/ ★ Support this podcast on Patreon ★

10-11
45:09

🍯🍎 It's Rosh Hashana! (Replay) John Arundel's advice for those who aren't enjoying Go so much

No episode this week, as Shay's celebrating Rosh Hashana and John's moving countries. So enjoy this replay of our interview with John Arundel from episode 21 of the show!Interview with Go 👨‍🏫 teacher and 📚 author, John ArundelOn Twitter: @bitfieldOn LinkedIn: bitfieldconsultingWeb site: bitfieldconsulting.comVideo: Things in Go I Never Use by Mat RyerVideo: What is the best book to learn Go in 2023? ★ Support this podcast on Patreon ★

09-30
33:02

🐋🐋 Two Orcas swimming in a pod(cast); FDs, Aliases, and more with Maxim Vovshin

Join us at Orca Security! New roles for Go Developers opened, hand in your CV (and tell 'em Shay sent you :) )Backend DeveloperRuntime Security ResearcherAgent DeveloperDevOps EngineerProposals🕸️ cmd/compile: relax wasm/wasm32 function import signature type constraints"Types" in the WASM spec🍗 runtime: add a way to check if fd is used by go runtimerunC Escape Vulnerability CVE-2024-21626 write-upBlog Posts💾 Register allocation in the Go compiler🏷️ What's in an (Alias) Name?Lightning Round🧑‍✈️ Go Singleflight Melts in Your Code, Not in Your DB🚫 cmd/go: change go test to FAIL if -run is specified but no tests match📊 Felix Geisendörfer's bugfix for fgprof ★ Support this podcast on Patreon ★

09-27
41:12

🦙 I hate that I like Cup o' Go, LLMs, and many proposals

For show notes, swag store, Patreon community, and past episodes, visit cupogo.dev.Discussions & Proposals📊 metrics for the standard library 🗑️ gorename deprecation📄 Documentation update for telemetry intentions(psst; remember to run `go telemetry on`)🚮 log/slog: add slog.DiscardHandler Blog posts🤖 Building LLM-powered applications in Go❤️‍🩹 I hate that I like GolangOur gracious patrons support this show. Consider joining as a member, too! ★ Support this podcast on Patreon ★

09-20
38:52

And now for something completely different, with Ran Bar-Zik & Gil Adda

Proposals🗜️ Accepted: Add new compress/zstd packagePreviously discussed in Episode 31🧼 Accepted: runtime: add AddCleanup and deprecate SetFinalizerPreviously discussed in Episode 73🗜️ Accepted: refuse to generate and/or use RSA keys smaller than 1024 bits🇮🇱 GopherCon Israel 2024, thoughts byy Shay Nehmad❄️ Blog post: New unique package by Michael KnyszekPreviously discussed in Episode 33 and Episode 38Go malware capable of cross-platform backdoor attacks🌩️ Lightning Roundgarble, Obfuscate Go codeecs, the Entity Component SystemPlease participate in the Go Developer Survey!Interview with Alice Merrick in Episode 73InterviewRan Bar-Zik https://x.com/barzikGil Adda https://www.linkedin.com/in/gil-adda-6117b9/CyberArk ★ Support this podcast on Patreon ★

09-13
01:09:44

Do Androids Dream of Electric Gophers? New Go releases & interview with Elliott Minns

Go 1.23.1 & 1.22.7 released🚫 Proposal accepted: encoding/json: add omitzero optionEpisode 34: Interview with Joe Tsai about encoding/json/v2✍️ script v0.23.0Episode 56: Interview wit xiaq, author of Elvish  Episode 21: Interview with John ArundelGo blog: Telemetry in Go 1.23 and beyond by Robert FindleyRunning Go on a Raspberry Pi (הרצת גו על רספברי פיי)🌩️ Lightning Round🚣‍♀️ river v0.10.0AriaSQLOn Reddit🍜 OpenTofu Registry gets a User InterfaceEpisode 30: Interview with Ohad Maislish about OpenTofuInterview with Elliott Minns from Dreams of CodeWatch the interview on YouTubeDreams of Code on YouTubeWeb site: dreamsofcode.io ★ Support this podcast on Patreon ★

09-06
01:00:44

✄ To bisect or not to bisect? I guess the answer's in the middle with Jamie Tanna's step counter!

Thanks to Jamie Tanna for joining as Co-host!Our gracious patrons support this show. Consider joining as a member, too!Conferences roundup🇮🇱 GopherCon Israel Sep 9th https://www.gophercon.org.il/🇩🇪 Fyne Conf 2024 Sep 20th https://conf.fyne.io/🌐 GoFunc Oct 3rd https://gofunc.ru/🇰🇪 GopherCon Africa Oct 18th-19th https://nairobi.gophers.africa/🇸🇬 GopherCon Singapore https://2024.gophercon.sg/🇮🇹 GoLab Nov 11th-13th https://golab.io/Proposals✄ proposal: debug/bisect: publish x/tools/internal/bisect⚠️ proposal: errors: add All and AllAs iteratorsReleases🗃️ Cue 0.10.0 with experimental embed support⚡️ Lightning round🐣 You're not mature enough to release your first version as v1🏃 New release for FIT: Garmin watch protocol in Go💬 The most exciting part of Go 1.23🗺️ Open Source database diagram editor ★ Support this podcast on Patreon ★

08-30
55:10

Where is the "Advanced Mode" switch?

🎉 Go 1.23 is here!Blog: Range Over Function Types by Ian Lance TaylorA look at the spec: Tree walking with range-over-func by Jonathan HallConferences & CFPs🇦🇺 GopherCon AU, Nov 7-8 Sydney, AustraliaCFP closes Sept 15🇺🇸 GoWest, Oct 25, Lehi, Utah, USAStill accepting lightning talksLane Wagnerboot.devLane Wagner on Cup o' GoJonathan Hall on Backend Banter🇸🇬 GopherCon SingaporeCFP closes Aug 26🇩🇪 FyneConf, Sept 20, Berlin, GermanyCFP closes today, Aug 23🇬🇧 GopherCon UK 2024 talks are now online!Proposal accepted: add Context method to testing.T🌩️ Lightning roundtimelinizeBlog: gRPC over HTTP/3 by Kevin McDonaldJonathan's wasmws fork & the original ★ Support this podcast on Patreon ★

08-23
19:59

📊 While we wait for Go 1.23, we discuss the latest Stack Overflow survey results

For Patreon, Swag, past episodes, and more, visit 🔗 https://cupogo.dev/!🏛️ Go 1.22.6 & 1.21.13 released  🕵️ CVE-2024-24790 explained (and scored on Synk)🧪 Likely accept: add Context method to testing.T🧑‍💻 StackOverflow 2024 developer survey results ★ Support this podcast on Patreon ★

08-10
36:56

🎮 BDFL but drop the FL, Game Development, and more!

For Patreon, Swag, past episodes, and more, visit https://cupogo.dev/!🫡 Leadership Transition in the Go Project🧑‍⚖️ ProposalsAccepted: Adding Text() to the crypto/rand libraryProposal (likely decline): add crypt(3) compatibility in the stdlibActive Proposal: Telemetry in Delve🤝 CommunityGopherCon EU 2024 videos have been uploaded online 🎮 GameDevNew minor version for ebitengineGo for RPG tutorial on YouTube by CodingWithSphere🏎️ Lightning round💰 Go & Money🔐 Quantum-Safe TLS🐑 New ollama release ★ Support this podcast on Patreon ★

08-03
26:18

Don't skip the gym! 🏋️ And interview Alice Merrick, UX researcher on the Go team

📝 Go 1.23: Interactive release notesNew proposalsruntime: add AddCleanup and deprecate SetFinalizer👉 weak: new package providing weak pointers💪 Bufstream enters public betaLightning RoundProfiling in Go: A Practical Guide by Noam YadgarCogent Core initial releaseNew RansomHub Ransomware VersionInterview with Alice MerrickPrevious episode 59: All about community ★ Support this podcast on Patreon ★

07-26
01:01:34

رضا لعل

Thank you from Persia

10-20 Reply

Aleksey Gureev

"Depend on abstraction, pass realization" is letter "D" in SOLID principles - dependency inversion principle. You should know what it means, don't you? )

05-20 Reply

Aleksey Gureev

There is no point in creating the interface in tests since all the places you are going to pass data will accept your struct.

05-20 Reply

Recommend Channels