Dependency Injection Explained
An explanation of Dependency Injection in Go and why it's useful.
Converting a library that used code generation to generics in Go 1.18
My experience switched my gRPC backed project's protofiles to use Buf
Four things to think about when choosing an API framework to write your next Go service.
How To Write Tests for Your Database Code in Go Without Mocking SQL
Using pprof and go tool trace to find and fix a 100x memory allocation issue caused by compression middleware.
How to configure GitHub Actions caching for Go modules and build cache to speed up your CI pipelines.
A walkthrough of migrating a Go project's CI/CD pipeline from Travis CI to GitHub Actions with matrix builds, services, and releases.
Lessons learned from spending three years building Flipt, including mistakes to avoid and launching before you feel ready.
Using recursive function types to implement elegant state machines in Go, inspired by Rob Pike's lexical scanning talk.
Final part: adding glass materials with refraction, a movable camera, field of view, and runtime configuration with Go flags.
Introducing materials with Lambertian diffuse reflection and specular metal surfaces with fuzz coefficients.
Adding shading with surface normals, implementing anti-aliasing with sampling, and refactoring with Go interfaces.
Implementing rays, spheres, and ray-sphere intersection to render a red sphere on screen.
Part 1 of building a path tracer in Go. Covers the difference between ray and path tracing and outputs a first test image.