A TOTP based 2FA system has two parts. One is a client that generates the TOTP code. The
other part is a server. The server verifies the code. If the client and the server-generated
codes match, the server allows the inbound user to access the target system. The code
usually expi...
Build a TOTP-based 2FA client in Go using the standard library. Generate time-based one-time passwords like Google Authenticator.
The meaning of “undefined behavior” has changed significantly since its introduction in the 1980s.
I've recently been migrating oapi-codegen to a multi-module project.
As part of it I've seen that running an innocuous "test all the packages below this one":
go test ./...
Does not work any more, as go test will only traverse packages that the current module knows abou...
Series
Here are all the posts in this series about the slices package.
Binary Search
Clip, Clone, and Compact
Compare
Contains, Delete, and Equal
Introduction
In the first post of this series, I discussed the binary search API from the slices package that is now part of the sta...
I love Go’s implicit interfaces. While convenient, they can also introduce subtle bugs
unless you’re careful. Types expected to conform to certain interfaces can fluidly add or
remove methods. The compiler will only complain if an identifier anticipates an interface,...
I love Go’s implicit interfaces. While convenient, they can also introduce subtle bugs
unless you’re careful. Types expected to conform to certain interfaces can fluidly add or
remove methods. The compiler will only complain if an identifier anticipates an interface,...
I love Go’s implicit interfaces. While convenient, they can also introduce subtle bugs
unless you’re careful. Types expected to conform to certain interfaces can fluidly add or
remove methods. The compiler will only complain if an identifier anticipates an interface,...
Use compile-time interface guards to verify type conformity in Go without runtime overhead. Learn the var _ Interface = (*Type)(nil) pattern.
Describes the WordStar diamond, a wonderful set of key bindings from the 1970s, and how you can use it in 2023 on Linux or Windows.