Spotlight-Tip
Property Testing: Beyond Matching Input-Output Pairs
How to test properties of a function call that hold true for any input
Just Make a Task (Make vs. Taskfile vs. Just)
Make, Taskfile, Just, or something else? How build tools manage dependencies to avoid unnecessary work.
When (not) to call package-level APIs
Package level APIs are convenient, but they aren't concurrency safe. Here is how and when to use them.
Conventions in Go (a refresher)
Good conventions make reading, sharing, and talking about code much easier.
Developing Software With First Principles Thinking
Learning how the world works keeps you from having to blindly
MethodByName Inflates Your Binary Size
Four methods in Go's reflect package can block dead code elimination and thus increase binary size.
CUE: Your next configuration languaage?
Standard configuration languages lack type safety and verifiability. CUE is a validation language that is perfect for replacing YAML or JSON.
How to break up circular dependencies
Import dependencies in Go must contain no circles. Here is how to get rid of them
How to use errors with iterator functions in Go
The new function iterators in Go 1.23 have no means for returning an error. But what if the iterator function may fail?
