Aaron Schlesinger

medium.com/@arschles · Personal blog · on HN since 2017

Aaron Schlesinger writes Medium posts about Go and Kubernetes, including the Athens module proxy and a report on generics.

What HN saysHN links his Go experience report on generics in Kubernetes as an example of how the lack of generics led Kubernetes to build workarounds.
18HN people shared it
9linked it in comments
9stories submitted
38story points
3 years agolast shared
2017people per year2026

Most-shared posts

  1. 1
    Go Experience Report: Generics in Kubernetes
    14 people · 33 points · first shared 2017 · 7 comments on HN
  2. 2
    The Doors Go Has Opened – Aaron Schlesinger – Medium
    2 people · 3 points · first shared 2018 · discussion on HN
  3. 3
    Project Athens – now with more working
    1 people · 1 points · first shared 2018 · discussion on HN
  4. 4
    Athens and Microsoft
    1 people · 1 points · first shared 2018 · discussion on HN

What HN people wrote when they linked it

ben_jones · 2018-09-21
I would argue while Kubernetes is a great piece of software, and its definitely practical to go in with relatively little experience and tweak a single line or function, Kubernetes is not easy to grok or reproduce in its entirety for example it has its own implementation of generics and a custom type system [1]. [1]: https://medium.com/@arschles/go-experience-report-generics-in-kubernet…
littlestymaar · 2023-07-08
That particular example of course no, but people writing overengineered beasts to overcome go's limitation happens all the time. Another famous example is how k8s, dealt with the lack of generics: https://medium.com/@arschles/go-experience-report-generics-in-kubernet…
willtim · 2020-11-04
> Yeah it's hard to write weirdly complicated code in Go Just because Go lacks many forms of abstraction, doesn't mean complex code will not be created with it. Quite the opposite. It's lack of expressiveness will encourage "frameworks", elaborate encodings, code generation and various productivity aids. Look at what the lack of generics has done to the Kubernetes code base: "The core team replaced a compile-time language feature that was missing (Generics) with their home-built runtime system" https://medium.com/@arschles/go-experience-report-generics-in-kubernet…
silasdavis · 2019-07-31
Probably yes: https://medium.com/@arschles/go-experience-report-generics-in-kubernet… Many smaller projects would benefit too. I would like to build a typesafe tree for an efficient sorted map, and to be able mergsort over multiple trees of different types. It would allow some extremely useful channel combinators for doing rather common things like safely shutting down a service with some background processing. Often these things leak and a often I find myself spawning more go routines just to map between types or to stop generic interface types infecting the rest of the API.
rjvehn · 2019-06-27
Seems like the infrastructure built with it requires it at a certain point. https://medium.com/@arschles/go-experience-report-generics-in-kubernet…
ernst_klim · 2018-12-23
>Do Docker and Kubernetes have bad codebases? Kubernetes people had literally reinvented a dynamic language on top of Go, that says something. https://medium.com/@arschles/go-experience-report-generics-in-kubernet…
zmanian · 2018-09-02
It's impossible to defend the lack of generics in golang in the face of the fact that two of the larger open source projects both invented their own generics implementations. https://medium.com/@arschles/go-experience-report-generics-in-kubernet… https://github.com/google/gvisor/blob/master/tools/go_generics/generic…
jasonwatkinspdx · 2018-08-29
> A bunch of pioneer project like docker, kubernetes, etcd, prometheus etc. has been built with go and I don't believe that the maintainers suffered lack of generics and error handlers. Here's an experience report from k8s: https://medium.com/@arschles/go-experience-report-generics-in-kubernet… They've been using a code generator as a work around: https://github.com/google/gvisor/tree/master/tools/go_generics

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