Retry function in Go

Build retry logic in Go without reflection using generics. Implement exponential backoff and configurable retry strategies with type safety.

One of my MH-E customizations: 'narrow-to-pending' (refiles and deletes)

Using Gemini models in Go with LangChainGo

In a previous post I've discussed how to access Google's multimodal Gemini models from Go (with a nice free tier!) Recently, Google's SDKs were added as providers for LangChainGo; this makes it possible to use the capabilities of the LangChain framework with Google's Gemini model...

Type assertion vs type switches in Go

Despite moonlighting as a gopher for a while, the syntax for type assertion and type switches still trips me up every time I need to go for one of them. So, to avoid digging through the docs or crafting stodgy LLM prompts multiple times, I decided to jot this down in a gobyexampl...

Type assertion vs type switches in Go

Despite moonlighting as a gopher for a while, the syntax for type assertion and type switches still trips me up every time I need to go for one of them. So, to avoid digging through the docs or crafting stodgy LLM prompts multiple times, I decided to jot this down in a Go by Exam...

Type assertion vs type switches in Go

Despite moonlighting as a gopher for a while, the syntax for type assertion and type switches still trips me up every time I need to go for one of them. So, to avoid digging through the docs or crafting stodgy LLM prompts multiple times, I decided to jot this down in a Go by Exam...

Type assertion vs type switches in Go

Master Go type assertions with i.(T) syntax and type switches. Extract concrete types from interfaces safely with ok idiom examples.

Go 1.22 Release Candidate 2

#​493 — January 30, 2024 Unsub  |  Web Version Go Weekly The Latest Go Developer Survey is Now Open — 2024’s first official Go Developer Survey is out (you can take it here) and the Go team is ready for your feedback. It closes o...

What’s New in Go 1.22: slices.Concat

We’re up to the second release candidate for Go 1.22, which should be released quite soon. In my last blog post, I wrote about my work on reflect.TypeFor for Go 1.22. This time, I’ll be writing about how I proposed and implemented slices.Concat. Here is the signature for sli...

Cryptography in Go: AES explained

AES is the modern standard encryption algorithm, but how does it work? Where does it come from? Let’s kick the tyres with a high-level overview of AES internals.