Covariance, Contravariance & the LSP

The Liskov Substitution Principle has implications for the way we should use covariance and contravariance.

August 2, 2024 · Sam Burns

Letting Yourself Go II: Variable Naming

Letting Yourself Go: learning to do things the Go way from an OOP background. Part 2: Variable Naming

July 20, 2024 · Sam Burns

Coding Standards Rollout Tool

Introducing tool and suggested process for rolling out consistent coding standards in legacy codebases.

July 15, 2024 · Sam Burns

Letting Yourself Go I: Visibility, Scoping, and Package Sizes

Letting Yourself Go: learning to do things the Go way from an OOP background. Tips for developers on learning Go, for devs with a background in PHP, Java, C# etc.

July 14, 2024 · Sam Burns

Writing Testable Code

Writing testable code often means coding against interfaces, and separating business logic from infrastructural side-effects. Testability isn’t the only reason to code like this.

July 13, 2024 · Sam Burns

Closing Go Worker Pools

An approach we might take to closing worker pools using standard lib’s sync.WaitGroup to keep track of how many of the workers are still running.

April 21, 2024 · Sam Burns