~/talk

Evil Go: Doing Well by Doing Bad

Talkat GoCon Canada 2019 · on Friday, 2019-05-31· [go]
slides:none on file

Argues that specific bad choices — bad package names and layering, interfaces defined on the wrong side, passing pointers that mutate structs, turning errors into panics, and hidden configuration — produce brittle, hard-to-reason-about Go systems. Demonstrates the claim by rewriting a small HTTP service twice: first explicit wiring, then using fall + outboy with init and blank imports and a helper panic if err, showing the DI/framework version runs but hides wiring, magic, and failure modes that make maintenance costly.

AI-written summary · about

  1. 0:00Introduction and setup
  2. 1:28Poor packaging practices
  3. 3:12Evil interfaces and abstractions
  4. 5:35Pointer passing for population
  5. 8:03Abusing panic and recover
  6. 10:10Configuration by side effect
  7. 12:37Sprinkling configuration everywhere
  8. 14:02Frameworks versus libraries
  9. 15:44Evil in dependency injection
  10. 18:12Good Go example
  11. 18:33Evil Go rewrite with Fall
  12. 22:49Seduction of magic code
  13. 23:31Enterprise patterns in Go
  14. 24:33Choosing good over evil
  15. 25:12Q&A and closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.