Golang Weekly - Go, meet Python. Python, meet Go.

Plus using fuzz testing in practice, working with eBPF from Go, and how it feels to be a solo gopher. |

#​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

n

Older messages

Answering all the big questions

Tuesday, July 4, 2023

Plus a big GoReleaser release, all the GopherCons, and an MIT workshop on concurrency that uses Go. | #​467 — July 4, 2023 Unsub | Web Version Together with Ardan Labs Go Weekly Frequently Asked

Go's three new builtin functions

Tuesday, June 27, 2023

Plus running Go in Jypyter Notebooks, a Go app generator, and using htmx with Go. | #​466 — June 27, 2023 Unsub | Web Version Together with Ardan Labs Go Weekly Go 1.21 Release Candidate — Despite

Random numbers in Go, version 2

Tuesday, June 20, 2023

Plus how and when to use Go pointers effectively, Mergo 1.0, and just how much Go is 'admired and desired.' | #​465 — June 20, 2023 Unsub | Web Version Together with Courier logo Go Weekly

Go toolchain changes in Go 1.21+

Tuesday, June 13, 2023

Plus talking to Matt Boyle about DDD, Ebitengine turns 10, and building traffic lights and fractals with Go. | #​464 — June 13, 2023 Unsub | Web Version ✍️ If you're intrigued about domain-driven

Go's on IBM mainframes now

Monday, June 12, 2023

Plus a natural language date/time parser, a new HTTP request router, and a way to visualize git contributions locally. | #​463 — June 6, 2023 Unsub | Web Version Together with Courier logo Go Weekly

You Might Also Like

Software Testing Weekly - Issue 220

Saturday, May 18, 2024

Software Testing Conferences 📚 View on the Web Archives ISSUE 220 May 18th 2024 COMMENT Welcome to the 220th issue! Have you ever been to a testing conference? They're a great way to learn about

📶 Is a Cellular iPad Worth It? — How to Prevent YouTube From Taking Over Your Screensaver

Saturday, May 18, 2024

Also: This Robot Vacuum Can Clean Stairs, and More! How-To Geek Logo May 18, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to your inbox by

Weekend Reading — Objection-oriented programming

Saturday, May 18, 2024

This week we find a power-up box, replace GitHub Actions with Maven XMLs, avoid the worst website in the world, revisit RTO policies, “listen” to OpenAI employees, watch our Slack private messages, do

Daily Coding Problem: Problem #1445 [Easy]

Saturday, May 18, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Jane Street. The United States uses the imperial system of weights and measures, which

You don’t have to take our word for it…

Saturday, May 18, 2024

You can probably tell how excited we are to re-launch our Gigantic courses – which bring on-demand product management training for today's modern Product Managers and Product Leaders. In fact, we

🐍 New Python tutorials on Real Python

Saturday, May 18, 2024

Hey there, There's always something going on over at realpython.com as far as Python tutorials go. Here's what you may have missed this past week: What Is the __pycache__ Folder in Python? In

Visualized | Life Expectancy by Region (1950-2050F) 📊

Saturday, May 18, 2024

This map shows life expectancy at birth for key global regions, from 1950 to 2050F. View Online | Subscribe Presented by Voronoi: The App Where Data Tells the Story FEATURED STORY Life Expectancy by

New Wi-Fi Vulnerability Enables Network Eavesdropping via Downgrade Attacks

Saturday, May 18, 2024

THN Daily Updates Newsletter cover The DevSecOps Playbook: Deliver Continuous Security at Speed ($19.00 Value) FREE for a Limited Time A must-read guide to a new and rapidly growing field in

🐍 New Python tutorials on Real Python

Saturday, May 18, 2024

Hey there, There's always something going on over at realpython.com as far as Python tutorials go. Here's what you may have missed this past week: What Is the __pycache__ Folder in Python? In

Toward 'local' AI w/ Apple's new chip

Saturday, May 18, 2024

faster than the cloud ☁️ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌