Live data from Hacker News

Elon Musk doesn't understand GraphQL & blames 1000s of poorly-batched RPCs

twitter.com

11–19 of 19 posts

Re: Elon Musk doesn't understand GraphQL & blames 1000s of poorly-batched RPCs

#11
post #8

Much of the third world has very limited data thoughput or even much client side processing capability on their phones. "Not understanding" graphql is irrelevant. The key is to make as few requests and bytes transfered as possible. It seems the twitter mobile app hasn't been optimised for that, no matter what protocol it uses.

I see entire massive threads requested and responded in a single compressed call to /api/graphql/xxx/TweetDetail

Loading an entire next page is also a single call to the same endpoint. There is nowhere remotely that I see the mobile client even making a hundred gql calls for tweets.

Is there something I'm missing or is he misusing "app" when he means backend service to service GQL calls?

Re: Elon Musk doesn't understand GraphQL & blames 1000s of poorly-batched RPCs

#12
post #6

The tweet linked by the OP doesn't dispute Musk's assertion, nor state why Musk "doesn't understand GraphQL"

Maybe it's supposed to be a sick burn that he said it was bad RPC calls when it's actually a bunch of bad GraphQL queries.

It's an opportunity lost, if you ask me. Programmers and SRE people from Twitter, SpaceX, and Tesla probably could have learned a great deal from each other, had there been any attempt to bring the cultures together diplomatically.

Re: Elon Musk doesn't understand GraphQL & blames 1000s of poorly-batched RPCs

#13
post #4

Earlier quoted context omitted.

Delusion of Grandeur?

That's part of it. He believes he'll be wildly successful regardless of domain expertise. He's so smart and anyone who questions or doubts anything he proposes is a worthless idiot. There couldn't possibly be a good reason for things being the way they are, and he can't be arssed to stop and learn before loading and firing off a tweet from his gigantic ass cannon. There must be a word for this.

Whatever it is it's the same thing Trump has. They assume every problem is extremely simple and for some reason they're the only ones who see that, while everyone else is screwing things up by making everything complicated for no reason. So they dive in without a second thought and are surprised to find out things are more complicated than they assumed. That's the charitable story.

The less charitable one is they love getting points from their fans for calling everyone dumb and saying they can fix everything, knowing ahead of time they can just keep changing the story when things don't work. And their fans do in fact give them points for what they say about what they'll do in the future, every time, without even looking at the track record of previous such statements

Re: Elon Musk doesn't understand GraphQL & blames 1000s of poorly-batched RPCs

#14
post #8

Much of the third world has very limited data thoughput or even much client side processing capability on their phones. "Not understanding" graphql is irrelevant. The key is to make as few requests and bytes transfered as possible. It seems the twitter mobile app hasn't been optimised for that, no matter what protocol it uses.

If Twitter is using RPCs is for internal communication (i.e., among microservices), so how on earth would it make a difference depending on the country? Elon doesn't know what he's talking about.

Re: Elon Musk doesn't understand GraphQL & blames 1000s of poorly-batched RPCs

#15
post #11
post #8

Much of the third world has very limited data thoughput or even much client side processing capability on their phones. "Not understanding" graphql is irrelevant. The key is to make as few requests and bytes transfered as possible. It seems the twitter mobile app hasn't been optimised for that, no matter what protocol it uses.

I see entire massive threads requested and responded in a single compressed call to /api/graphql/xxx/TweetDetail Loading an entire next page is also a single call to the same endpoint. There is nowhere remotely that I see the mobile client even making a hundred gql calls for tweets. Is there something I'm missing or is he misusing "app" when he means backend service to service GQL calls?

Would the UX concept of a 'next page' even make sense if the content doesn't get read by the end user? What would an app that's mindful of the unavoidable technical limitations look like I wonder? I'm not familiar with the specifics at hand or what Musk can see, but from my perspective he has first hand knowledge of web dev and is smart enough to not be blinded by buzzwords and dogma. He seems to have earned a decent living from his approach don't you think?

Re: Elon Musk doesn't understand GraphQL & blames 1000s of poorly-batched RPCs

#16
post #14
post #8

Much of the third world has very limited data thoughput or even much client side processing capability on their phones. "Not understanding" graphql is irrelevant. The key is to make as few requests and bytes transfered as possible. It seems the twitter mobile app hasn't been optimised for that, no matter what protocol it uses.

If Twitter is using RPCs is for internal communication (i.e., among microservices), so how on earth would it make a difference depending on the country? Elon doesn't know what he's talking about.

Perhaps local backbone telecoms correspondingly differ in capabilities from one locale to another?

Re: Elon Musk doesn't understand GraphQL & blames 1000s of poorly-batched RPCs

#17
post #10
post #4

Earlier quoted context omitted.

That's part of it. He believes he'll be wildly successful regardless of domain expertise. He's so smart and anyone who questions or doubts anything he proposes is a worthless idiot. There couldn't possibly be a good reason for things being the way they are, and he can't be arssed to stop and learn before loading and firing off a tweet from his gigantic ass cannon. There must be a word for this.

Programmer/developer. At least in my experience.

Downvotes aside as a programmer/developer, I found it funny.

And most good programmer/developers I know were like this early career but the wise ones grew out of it.

There may need to be another word for it for people who never learn from their own hubris.

Re: Elon Musk doesn't understand GraphQL & blames 1000s of poorly-batched RPCs

#18
post #11
post #8

Much of the third world has very limited data thoughput or even much client side processing capability on their phones. "Not understanding" graphql is irrelevant. The key is to make as few requests and bytes transfered as possible. It seems the twitter mobile app hasn't been optimised for that, no matter what protocol it uses.

I see entire massive threads requested and responded in a single compressed call to /api/graphql/xxx/TweetDetail Loading an entire next page is also a single call to the same endpoint. There is nowhere remotely that I see the mobile client even making a hundred gql calls for tweets. Is there something I'm missing or is he misusing "app" when he means backend service to service GQL calls?

If there's a problem sending too much data between back end services, perhaps there's just more data being sent than necessary. Perhaps there's some data usage costs or introduced latencies involved somehow?

Re: Elon Musk doesn't understand GraphQL & blames 1000s of poorly-batched RPCs

#19
post #14
post #8

Much of the third world has very limited data thoughput or even much client side processing capability on their phones. "Not understanding" graphql is irrelevant. The key is to make as few requests and bytes transfered as possible. It seems the twitter mobile app hasn't been optimised for that, no matter what protocol it uses.

If Twitter is using RPCs is for internal communication (i.e., among microservices), so how on earth would it make a difference depending on the country? Elon doesn't know what he's talking about.

I tried my best to fill in the blanks for this story, and my working understanding is this:

1) Client requests service. 2) Service is graphQL, which makes the "thousands of calls" Musk is referring to towards other backend APIs. 3) There was an incorrect international cache/CDN configuration which hurt response time of these APIs for some countries. 4) Musk claims its the API calls causing slow performance, engineers point out that its technically the cache.

Debate is about if using graphQL is even worth it if it needs such complex caching to work well

Post reply on HN