Did you know...? Go has a Diamond Problem! Apr 05, 2024In a diamond-shaped class hierarchy, methods can be ambiguous. Go has no class hierarchies, but struct embedding can cause a similar problem.
Does your CLI tool have a man page? Dec 12, 2024RTFM! But what if the CLI tool has no man page? Make your users happy by providing a manpage alongside your CLI app.
GNU Style Flags—Almost Jun 14, 2024To have GNU-style short and long flags, you don't have to reach out to third-party packages. Go's flag package can handle double-dash, long-name flags.
Property Testing: Beyond Matching Input-Output Pairs Dec 01, 2024How to test properties of a function call that hold true for any input
Just Make a Task (Make vs. Taskfile vs. Just) Nov 28, 2024Make, Taskfile, Just, or something else? How build tools manage dependencies to avoid unnecessary work.
When (not) to call package-level APIs Nov 21, 2024Package level APIs are convenient, but they aren't concurrency safe. Here is how and when to use them.
Conventions in Go (a refresher) Nov 12, 2024Good conventions make reading, sharing, and talking about code much easier.
Developing Software With First Principles Thinking Nov 05, 2024Learning how the world works keeps you from having to blindly
MethodByName Inflates Your Binary Size Oct 25, 2024Four methods in Go's reflect package can block dead code elimination and thus increase binary size.