a mere operator

Seattle
Joined March 2009
David Bell retweeted
This viral Sears story is sparking debate about today’s economy He says full time retail workers could afford a comfortable middle class life back then, sparking a debate about when a steady job stopped being enough to get ahead. [via/ GettyImages]
463
3,134
405
37,269
5,080,808
second: prefer a "topic-comment" style API with repetition than flat API where it's up to the service what fields can be configured together. A good example is an API for defining http, tcp, or grpc ports
What are some random API design choices that you like? What are some things people don't often think about when making APIs? Yes, I am building an API. No, I can't be more specific at this time.
1
2
317
Instead, just create three structs for http, tcp, and grpc and put the configurable fields under each one * end users know intuitively what fields they can set for a given protocol * validation is just verifying only one protocol is specified, then validating that protocol
1
130
As an addendum, it's almost always better to use empty structs and fields rather than enums, since that empty struct can be easily extended with override configuration in the futre.
77
first: There's only one good way to do CRUDL APIs. for each resource you define top-level structs for id (key for resource), spec (goal state of resource), meta (timestamps, status, etc.), and version (revision of resource in the system). If you're daring List takes a filter.
What are some random API design choices that you like? What are some things people don't often think about when making APIs? Yes, I am building an API. No, I can't be more specific at this time.
1
141
* Reconciliation loops are easy, since you can persist id/version and only reconcile where one of the two structs has changed. Makes level-driven loops scale very well. * Deep equality of goal state is easy because it's not spread across N fields on the response object.
1
52
Integration tests are also so much easier, as you almost never have to change your plumbing when the IDL updates. And you can easily use a stringy format like YAML for your specs.
52
I've somehow managed to get a cloudformation stack into an undeletable state and it won't even tell me why. thought things were better now :(. @AWSSupport ?
service mesh in the style of istio/linkerd/appmesh/&c is taking a bunch of networking features (routing, security, observability) that other stuff was missing or sucked at and providing it as a product. and so you sprinkle a few sidecars around and boom! features.
A service mesh is a feature, not a product.
1
1
3
over time, people should just move to them because they provide a well-integrated and ~*idiomatic*~ solution for getting all of the features in the stuff you're already using.
1
2
i also really like vpc lattice (especially the preview feature set) because its focused on being a primitive. getting two isolated networks to communicate is really hard, so solve that problem! you can then plug it in under any of this other stuff, hub-and-spoke.
1
5
reading the activitystreams rfc and i'm stunlocked on links being either objects or strings. why complicate parsing like that?
1
1
me sowing: oh ok here's the bottleneck me reaping: that fixed nothing
1
3
sometimes i want to go back to aws just so the recruiter spam stops.
1
2
i get its a numbers game, but this time they mentioned how i interviewed "awhile ago" and now that i have "more experience under my belt" that i would be a great fit to reinterview. I last interviewed 9 years ago, and then I worked there for 8 years. i think i interviewed fine.
1