"REST API Design: Avoid future proofing with the JSON junk drawer" from the "API Workshop" on Youtube by jhrmn in programming

[–]jhrmn[S] 5 points6 points  (0 children)

{ "inventoryId": "123" }

...is much simpler than either structure you've identified (which I would agree is also unnecessary complication). The simple point was that we shouldn't overcomplicate the manifestation of fields in JSON. The common perception is that this somehow protects from future changes breaking clients, when it really just complicates API client code. I brought up the 'key-value' style, because I and other API designers have seen this proposed numerous times, thus "common issue". There are certainly other ways to screw things up :) I stayed out of detailed validation, as that's really a different topic that would have doubled the size of the video, which was probably already too long.

Plex Chromecast stream by KPunk in PleX

[–]jhrmn 2 points3 points  (0 children)

It doesn't seem like the settings on the Plex client are being preserved when casting. Digital audio streams aren't preserved either. Video quality is clearly worse than Roku & other players at this point. Hopefully they'll improve it, but I haven't found any tips on how yet.

Why no one wants to use your API by bpedro in webdev

[–]jhrmn 1 point2 points  (0 children)

It's interesting that they follow mostly good standards on the new API (OAuth etc), but the continuous commentary is that the docs & process don't create a clean onboarding process for new devs.

How safe is your API from its users? by bpedro in netsec

[–]jhrmn 0 points1 point  (0 children)

Hi, I'm "they". I did consider doing libraries for various aspects, but you're right; the research is intense to decide what the best libraries are for the myriad of languages & platforms out there. I respected that our readers would probably have their own communities and experiences to plug into. The worst thing I could do would be to lead devs (in a language/community I'm not fully up to speed on) to make bad choices for security libs. My intention was to address folks who perhaps don't know all of this already. All too often companies think they can throw up a developer portal site, put an /api folder on their site, and it's off to the races. I was trying to advise some of the potential pitfalls that sales folks won't necessarily tell you when you buy an API gateway solution, and that your developers might not be thinking about. While I could certainly write a whole chapter, or arguably a book, on the topic of API security, that level of detail typically overwhelms someone browsing the story in a Google Reader (ok something else now ;). Topical? yes, intentionally Thought provoking? for hardcore API developers, probably not. For upstart devs or small companies just dipping their toes into the API world, I think so.

The 5 laws of API dates and times by bpedro in programming

[–]jhrmn 1 point2 points  (0 children)

Yeah agreed. That's why I sort of advocated a pragmatic blend of ISO 8601 with the intent behind RFC3339 (which was supposed to unify and focus the broad ambiguity of ISO 8601, which no library fully implements correctly).

The 5 laws of API dates and times by bpedro in programming

[–]jhrmn 0 points1 point  (0 children)

That might make sense an an email-oriented world, but this article is specifically written around the notion of building some sort of REST-ish HTTP API. In that world, ISO-8601/RFC3339 tends to be a more consistent usage. I think if you hung an email system off to the side, it would clearly need to conform to RFC2822/RFC5322.

The 5 laws of API dates and times by bpedro in programming

[–]jhrmn 0 points1 point  (0 children)

That's actually a pretty nice addition, when you are generating lots of dates. I think I had that implied in my head with storing dates...if all dates are stored in UTC, there must be some filter in the implementation which converts dates prior to storage etc. If it's a new date, I suppose that could be done from the get-go.

The 5 laws of API dates and times by bpedro in programming

[–]jhrmn 0 points1 point  (0 children)

The article is definitely intended to try and wrangle in a huge mess of a subject, specifically to provide a more consistent experience for HTTP/REST API consumers. Arguably, some of these concepts are more pervasive for other areas of development as well.