Chris Hines

medium.com/@cep21 · Personal blog · on HN since 2016

Chris Hines (Jack Lindamood), a Go developer, writes about Go library design, interfaces, and infrastructure tooling choices from running a startup.

What HN saysHN commenters link his posts as guidance on Go practice, including 'accept interfaces, return structs' and why to avoid Context.Value, and find the arguments convincing.
15HN people shared it
2linked it in comments
14stories submitted
47story points
2 years agolast shared
2016people per year2026

Most-shared posts

  1. 1
  2. 2
  3. 3
    What “accept interfaces, return structs” means in Go
    2 people · 2 points · first shared 2016 · discussion on HN
  4. 4
  5. 5
  6. 6
    Go client library best practices
    1 people · 3 points · first shared 2016 · discussion on HN
  7. 7
    Aspects of a good Go library
    1 people · 2 points · first shared 2018 · discussion on HN
  8. 8
  9. 9
  10. 10

What HN people wrote when they linked it

ChrisFoster · 2020-08-31
I liked the following blog post where Jack Lindamood argues pretty convincingly against using Context.Value in nearly all circumstances, and gives some nice alternatives. https://medium.com/@cep21/how-to-correctly-use-context-context-in-go-1…
kornish · 2016-12-12
A rule of thumb I've heard and agree with for libraries is "accept interfaces, return structs". Rationale here: https://medium.com/@cep21/what-accept-interfaces-return-structs-means-…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close