HN user

dyoder

923 karma
Posts81
Comments30
View on HN
googlewalkout.medium.com 5y ago

The Future Must Be Ethical: MakeAIEthical

dyoder
1pts0
rankingdigitalrights.org 5y ago

2020 Ranking Digital Rights Corporate Accountability Index

dyoder
1pts0
www.dashkite.com 5y ago

Show HN: Link Preview (Unfurl/Expand) API

dyoder
13pts7
byline.dashkite.com 5y ago

Affordances of Abuse: What Overwatch Creators Could Learn from Death Stranding

dyoder
2pts1
byline.dashkite.com 5y ago

Facebook and Twitter Promote Propaganda and Disinformation. We Can Do Better

dyoder
3pts1
byline.dashkite.com 5y ago

Civic: Next Generation Social Media

dyoder
1pts0
www.pandastrike.com 10y ago

More Agile Than Agile Itself

dyoder
3pts0
www.pandastrike.com 10y ago

Faking Co-Routines, or Why Callback Hell Is Over (2014)

dyoder
35pts23
www.pandastrike.com 10y ago

REST Won't Help You Understand HTTP

dyoder
1pts0
www.pandastrike.com 10y ago

HTTP and the Zombie Apocalypse

dyoder
1pts0
www.pandastrike.com 10y ago

RSpec and the Uncanny Valley

dyoder
2pts0
www.pandastrike.com 10y ago

Faking Co-Routines, Or: Why Callback Hell Is Over

dyoder
1pts0
www.pandastrike.com 10y ago

You're Welcome, JavaScript (Signed, CoffeeScript)

dyoder
1pts0
www.pandastrike.com 10y ago

On the Importance of Queueing

dyoder
1pts0
www.pandastrike.com 10y ago

Top-Down “Agile

dyoder
2pts0
www.pandastrike.com 10y ago

Bitcoin's Amateurish, but Cryptographic Payment Networks Are the Future

dyoder
1pts0
www.pandastrike.com 10y ago

Understanding Bitcoin Internals

dyoder
3pts0
www.pandastrike.com 10y ago

Bitcoin Internals: Spec and Protocol

dyoder
1pts0
www.pandastrike.com 10y ago

The Buzzword Is Dead, Long Live the Buzzword

dyoder
2pts0
www.pandastrike.com 10y ago

Bitcoin and Central Banks

dyoder
2pts0
www.pandastrike.com 10y ago

Examples of using Blocks in Ansible 2

dyoder
2pts0
www.pandastrike.com 10y ago

Thought Experiment: GitHub Community View

dyoder
52pts14
www.pandastrike.com 10y ago

Examples of using Blocks in Ansible 2

dyoder
2pts0
www.pandastrike.com 10y ago

Docker Swarm with AWS VPC

dyoder
2pts0
www.pandastrike.com 10y ago

How Side Projects Take Over the World

dyoder
1pts0
www.pandastrike.com 10y ago

Docker Swarm with AWS VPC

dyoder
2pts0
www.pandastrike.com 10y ago

Airflow

dyoder
2pts0
www.pandastrike.com 10y ago

Docker Swarm with AWS VPC

dyoder
7pts0
www.pandastrike.com 10y ago

Types in JavaScript

dyoder
2pts0
www.pandastrike.com 10y ago

Introducing YAML-CLI: A YAML Command Line Processo

dyoder
1pts0

That's a really great suggestion and I feel a bit silly for not having thought of it. (FWIW, there is a test form on the RapidAPI site, but it's more complicated to try and not as fun.) We'll add that. Thank you!

Hi, one of the authors here. We originally built this link preview API for our own apps. (A link preview shows a summary of the page referenced by a URL. Given a link, our API will return the corresponding title, author, publisher, and so on.) Since it worked well for us, we figured why not make it available to everyone?

The reason we decided to build our own (there are several out there) is that we wanted to pull all the data a publisher wanted to share, including all the media, and we wanted it to be fast. Specially, we wanted to edge cache that data as aggressively as possible given the source.

Hopefully, others find this useful. Let us know if there are features you'd like to see. We also launched this on RapidAPI, so let us know if you've had good or bad experience using that platform. This is our first API launch, so we're still figuring out the best way to do this. Thank you!

We're not religious about REST. For example, see:

https://www.pandastrike.com/posts/20151215-http-rest-great-b...

and

https://www.pandastrike.com/posts/20160210-rest-is-the-wrong...

We've also tried to be specific in how you might approach addressing the limitations of HTTP in a way more consistent with the design of the protocol:

https://www.pandastrike.com/posts/20151022-rest-data-api

and

https://www.pandastrike.com/posts/20160509-http-is-the-new-l...

In fact, our thesis in this article is not about REST at all, but the design goals of projects like Falcor, which may be unrealistic. And it's those unrealistic expectations of what's possible are why people are turning from HTTP.

One of the authors here: we've had some internal debate on this since that article was written, summarized here:

https://www.pandastrike.com/posts/20160331-facebook-react-pa...

Technically speaking, with respect to the whole argument that React is “just a library,” part of the problem is that it isn't perceived that way by many developers. The first auto-complete option (for me anyway) when I type “Web Components vs…” is React.

That said, the developer experience around Web Components is meh. Part of our frustration is that it would have been cool to see Facebook invest all the effort into Web Components-based technologies instead of going off on their own.

Right. And then when those features aren't available in the browser, that's used as a justification going back to proprietary (aka native) platforms. It's a circular argument made by people determined to return to the days before we had an Open Web, for whatever reasons. If you don't want to use the features, nobody is forcing you to do so.

Is it so much of a stretch to believe that a vendor might believe it is in their best interest to control the application platform? Why give Apple the benefit of the doubt here? Ironically, one reason to do that is that Apple is active in defining and implementing Open Web standards, many of which are aimed at improving the Web as an app platform. Which, in turn, is exactly why this is still an “interesting narrative”--both Web and native are rapidly evolving.

Many, if not most, apps that depend on the Internet in some fashion do not handle losing the connection gracefully. Furthermore, it has been possible to write Web apps that can run disconnected (assuming they've been run at least once with a working connection, analogous to downloading an app).

Many of these responses hilariously demonstrate why enterprise software interaction design is so poor: the market simply doesn't care.

The root cause is not that enterprise software vendors have no taste, it's that the stakeholders involved in the procurement process don't value interaction design. Like any market, it's likely that the vendors that are successful value those things that their customers value, and interaction design is not one of those things.

The vendors that are passionate about design eventually do something else, because their work isn't valued by the enterprise market. The vendors that remain in the market either don't value design or aren't committed to it. And, by extension, the best designers don't stick around in companies where their talents aren't valued.

you're absolutely right. and i'd be fine with that if the objection was just that: this is too hard to implement, or we don't have time, and so on. it's the rationalizing that's annoying. and obviously DropBox has the resources to implement whatever design they choose.

My two cents:

- if your queries get that complex, introducing a subordinate query resource is a pretty reasonable measure; in a world where people commonly use URL shorteners, why is this controversial?

- "don't break the web" isn't just about bookmarks; it's also about interoperability, in general

- for example, supporting GET means responses are now cacheable, which may be useful in many situations

- the author is mostly just pointing out that DropBox hasn't followed the REST style, and he's correct; there are reasonable design alternatives that do

- therefore, if REST is good, than this design is bad; given the success of the Web and HTTP, whose fundamental design follows the REST style, it always mystifies me how many people find this objectionable

A URL is an identifier for a resource. Everyone now has the same URL (identifier) for their shopping cart. If you're goal is to use HTTP effectively, this is bad. For example, it breaks HTTP caching. In effect, you have a variant of the RPC pattern that you say you're trying to avoid.

Fat JSON 12 years ago

...it's just an API failure

This. As far as the bandwidth issue goes, effective use of caching and compression can go a long way. Schemes varying the responses via the URL compromise schema validation based on media type (see JSON Schema, for example). Specific cases where fat or thin requests truly make a difference can be addressed with additional media types.

The negative response to this post is over the top.

At most, you can say that they overstated their case by neglecting to talk about server trust and using the word "comfortable" in an article about security. :)

To address a few red herrings:

Saying that no solution is better than a flawed solution is absurd. There's no such thing as impenetrable security. On that basis, we shouldn't bother with HTTPS. For that matter, we shouldn't bother with passwords, either.

We do these things because they make attacks incrementally more difficult and thus redirect attackers' efforts to more vulnerable targets, or make it expensive enough not to bother. Every little bit helps.

Saying that you can't do this because you have to verify everything on every page load utterly ignores the past decade of development of rich client applications.

Saying that you shouldn't do this because it's been tried before also ignores virtually the entire history of technological innovation.

This is important problem and constructive criticism from security experts is extremely valuable. But the only "sophistry" I'm seeing here is from the people who can help the most.

This is a beta, invite-only app bootstrapped out of the proverbial garage. Their blog post on the technical details missed a few things. If you've ever been in those shoes, you know how easy that is to do. I've seen billion dollar companies do worse. Most of the article was accurate, well-written, and probably helpful to a lot of readers.

Help 'em out, don't tear 'em down.

Nailed it. Composite resources and good use of caching with fine-grained resources can go a long way.

HTTP is a pretty sophisticated protocol, when all is said and done. That means there is a learning curve in using it effectively. However, a good BaaS takes care of that for you, including providing default client libraries that know how to take advantage of the API properly.

(Full-disclosure: my company, spire.io, has recently launched a REST API BaaS that attempts to address exactly these concerns.)

Thanks for your suggestion, Matthew.

We do anticipate some applications wanting more than one instance. There are two scenarios where this comes up.

1. You want separate connections per instance. This is useful in load testing, among other things.

2. You want to provide different default options for different instances.

Neither of these scenarios is supported very well in this release, but we expect to add support for them shortly.