Fergus On:

Information Security. Software Engineering. Radio and Electronics. (And the occasional hike.)

Automating Code Generation With Docker

Code generation across a team leaves everyone on slightly different versions with fragmented workflows. I wrap generation tools in utility Docker images instead: consistent tooling, no local installs, same output every time.

Go: Easy data transformations via composition

Go's struct embedding cuts out the convoluted data transformation layers you'd write in other languages. I compose structs to filter properties, merge data sources, and control memory—without extra abstraction getting in the way.

Go: Implicit Interfaces and being an Englishman Abroad

Go's implicit interfaces look underwhelming until you define them at the consumption point, not the implementation. I've watched developers new to Go miss this entirely by forcing familiar OOP patterns. Keep interfaces small and local—cleaner architecture, no boilerplate.