Announcing GoReleaser v2.12

This version introduces the new version of the Docker integration, Docker image attestation, Makeself packaging support, Go 1.25, and much more!

Benchmarking Go SQLite libraries

#​568 — September 3, 2025 Read the Web Version Go Weekly 😎 A-go-ha! Gopher Hawaiian Shirt Patterns — Humor me for this item in the last gasps of summer! In 2023, Russ Cox worked with Renee French (the creator of the Go gopher mas...

In GNU Emacs, I should remember that the basics still work

Lifecycle management in Go tests

Unlike pytest or JUnit, Go’s standard testing framework doesn’t give you as many knobs for tuning the lifecycle of your tests. By lifecycle I mean the usual setup and teardown hooks or fixtures that are common in other languages. I think this is a good thing because y...

Lifecycle management in Go tests

Unlike pytest or JUnit, Go’s standard testing framework doesn’t give you as many knobs for tuning the lifecycle of your tests. By lifecycle I mean the usual setup and teardown hooks or fixtures that are common in other languages. I think this is a good thing because y...

Lifecycle management in Go tests

Master Go test lifecycle with t.Cleanup(), subtests, and TestMain. Learn per-test, grouped, and package-wide setup patterns effectively.

Elephants for breakfast: testing the untestable in Rust

How do you test functions that can’t be tested? That’s easy: you don’t! Instead, you use the magic function technique to break down the elephants—excuse me, functions—into smaller bites that you can test.

You can only customize GNU Emacs so far due to primitives

Implementing Forth in Go and C

I first ran into Forth about 20 years ago when reading a book about designing embedded hardware. The reason I got the book back then was to actually learn more about the HW aspects, so having skimmed the Forth chapter I just registered an "oh, this is neat" mental note...

Go experiments with SIMD

#​567 — August 27, 2025 Read the Web Version Go Weekly Container-Aware GOMAXPROCS — The official Go blog kicks off a promised series of posts on Go 1.25’s new features with a look at some tweaked container-aware behavior around GOM...