Defer is often seen doing post-function cleanup or other time-insensitive work. What may surprise some people is that the caller could be blocked until the cleanup is done.

A simple bash function to install the latest – or any desired – version of Go. Another one to switch versions.

How I fixed the problems I encountered when upgrading from Fedora 24 to 29. Also: a PostgreSQL 9.5.7 to 10.7 cluster migration; and upgrading Gogs.

Unix domain sockets offer efficient, secure communication between processes on a Unix/Linux machine. It’s easy to start using a Unix domain socket in Go if you already know what to do, but documentation in the Go standard library does very little to help users gain that knowledge.

Picture keeping the total lines of code for your application the same, but shrinking the application-specific code by growing the library code.

Some functions in Go’s standard library deliver much higher performance than user-defined functions, or those in a package you download from GitHub.

You can generate a name for your Element Buffer Object, bind it to your VAO, and initialize its data store. Or you can just pass a pointer to your element index slice in your DrawElements() call.

What you need to start developing an OpenGL application in Go (golang) on Windows

The behavior of specific code in a particular environment may be explored using the scientific method through observation of its execution in that environment.

http.ServeFile is great when you’re starting out. Later it just gets in the way.

Output the information needed to understand the action, and give the user a chance to approve it or opt out. A simple thing that can prevent disaster.