#​468 — July 11, 2023

Unsub  |  Web Version

Together with  Teleport logo

Go Weekly

Finding Bugs with Fuzzing — The final post in a series about fuzz testing in Go (you can start here) wraps things up with a practical example of finding and fixing a subtle bug in Go code using the process.

John Arundel

Some First Impressions of Go 1.21 — The impending 1.21 release feels more significant than other recent releases due to the items mentioned in this post, including new slice/map API functions (including many that take advantage of generics), structured logging, and the (experimental, opt-in only for now) tweak to loop variable capture.

Jason Fulghum (DoltHub)

Certificate-Based MFA, RBAC, and SSO with Teleport — Implement industry best practices for Kubernetes access with minimal configuration. Easily enforce MFA, RBAC, and SSO using identity-based short-lived X.509 certificates for engineers and service accounts by starting your trial today.

Teleport | goteleport․com sponsor

Wazero 1.3.0: WebAssembly Runtime for Go Developers — The goal here is being Go 1.21 ready (since it’s released next month). That’s important because Go 1.21 will directly support compiling to WASI-backed WASM which, in turn, Wazero will be able to run. Now we’re just waiting to see if Wazero can be compiled to WASM and run by itself.. 😅

Tetrate Labs

Pygolo: Extend Python with Go and Vice Versa — A new way to embed or extend the Python interpreter with Go. There’s a full guide to using it, but Pygolo does most of the heavy lifting taking care of types, modules, exceptions, and more.

Domenico Andreoli

IN BRIEF:

  • sqlc is a popular tool for working with SQL that compiles queries into type-safe Go code, and its creators have great news: they will now be working on sqlc full-time.

  • 🇪🇺 GopherCon Europe 2023 took place a few weeks ago and Benjamin Bryant has shared this 'totally nonprehensive' recap of how it went, focused mostly on the nice people he met which, to be fair, is what conferences are all about.

  • 🇺🇸 Don't forget that the US outing of GopherCon is taking place this September in San Diego, CA.

  • In the wild, gophers tend to live alone, and many Go-programming gophers work alone too. Last week's Go Time podcast focused ▶️ on solo gophers and the realities of working on a team of one.

Go Sync or Go Home: WaitGroup — What does WaitGroup have that channels don’t? (Quickly followed up with Go Sync or Go Home: ErrGroup.)

Yarden Laifenfeld

Workflows as Actors: Is It Really Possible? — Discover the Actor Model and its importance in system design patterns. Then, build Temporal Workflows that act like Actors in Go!

Temporal Technologies sponsor

Start Fast: Booting Go Programs Quickly“A quick-booting program should be a source of pride,” says Efron, who really, really, really wants the binary serving his blog to spin up in milliseconds.

Efron Licht

▶  Debugging Go CLI Programs with Visual Studio Code — Quick 4 minute demo.
Josh Duffney

🛠 Code & Tools

ghw 0.12.0: Go Hardware Discovery and Inspection — Find out things about the memory, CPU, storage, network support, and similar things of the host computer. Focused on Linux and Windows, with partial macOS support.

Jay Pipes

Act: Run Your GitHub Actions Locally — Run act and it looks at your repo’s GitHub Actions, uses Docker to grab the necessary images, and runs the tasks locally.

Nektos

eBPF Go 0.11.0: Pure Go Library to Work with eBPF Programs — A library and toolchain that can let you write eBPF programs in assembly or C within your Go code, lets you link against various hooks, and more. Examples here.

Cilium

💡 eBPF is a Linux-oriented (though not Linux exclusive) technology to run certain programs in a sandbox within kernel space. It's more fun than it sounds, honest.

Add Fully-Featured Auth to Your Go App with Two Lines of Code — Easy, secure, and affordable: pick three. FusionAuth is auth built for devs, by devs.

FusionAuth sponsor

MacDriver 0.4: Native Mac API Access for Go — A toolkit for working with Apple/Mac APIs and frameworks in Go, formed of both bindings for Objective C and wrapped versions of certain frameworks.

Jeff Lindsay

  • fq 0.7
    ↳ Imagine jq for binary formats.

  • faasd 0.17
    ↳ Lightweight FaaS engine. Think OpenFaas sans Kubernetes.

  • Go OpenAI 1.13
    ↳ Use ChatGPT, GPT-4, DALL-E, and friends.

  • Gobot 2.1.1
    ↳ Robotics and IoT framework.

  • go-simd
    Very niche, but a ARM-focused SIMD implementation.

Jobs

Find a Job Through Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
Hired

🚎 Roll up for the Go mystery tour..

The Ultimate Go Tour for Intermediate Developers — The folks at Arden Labs teach Go for a living, so this set of free tutorials (written atop the Go Playground) is a great start for experienced developers who want to learn Go.

Arden Labs