Live data from Hacker News

Graphing when your Facebook friends are awake

defaultnamehere.tumblr.com

111–120 of 200 posts

Re: Graphing when your Facebook friends are awake

#111
post #30

It would be real creepy if someone does the same thing for Whatsapp, you can even predict who's talking to each other much better than Facebook. It's a bit harder to collect data from web.whatsapp.com because it's using Websockets but let me know if someone develop such tool and publish it on Github. :)

s/creepy/fun/, IMO. Too many things get called "creepy" nowadays, as if people had some serious insecurity issues.

Re: Graphing when your Facebook friends are awake

#113

Awesome and hilarious article. Id just like to note `for (;;);` is not to prevent users from using bad JSON parsers like `eval` but prevent older browsers with little to no cross domain policy from loading it with a script tag and doing evil XSS by overriding Array or Object constructors or prototypes to pull that data

Good point. Minor nitpick: I believe this is called CSRF, not XSS? But Im just repeating stackoverflow comments at this point.

Re: Graphing when your Facebook friends are awake

#114

>Similarly, I’m not sure why there are these weird spikes every three minutes (+- ~1minute) sometimes. Could these just be keep-alive requests? For example, the mobile app checks whether it's still connected?

Good point! I didn't think of that. 3 minutes does seem like the kind of time an engineer would code into their app. So does that mean that the spiky periods are times when people are online the whole time?

Could it be an unusual client, like a microsoft phone or something?

Re: Graphing when your Facebook friends are awake

#115

> If you reload the page you’ll see approximately fifty-bajillion network requests go off as Facebook desperately tries to load all the junk that it needs to display facebook.com. I like this part. As a developer I've often looked at the network usage of large websites / web applications and it's always surprising to me just how...unoptimized it is as far as network connections go. I mean Facebook loads decently enou…

As someone else have mentioned most of these connections are progressive connection. Another thing to consider is their CDN usage. Facebook uses Akamai as their CDN of choice, most large to medium size telco/ ISP has their own Akamai Cache server at their NOC. So latency is not issue for the big files (images and JavaScript) after the initial reload, assuming they are not cached on the browser already.

So no matter how many connections are made when visiting facebook, it usually loads fairly fast because of aggressive caching and progressive connections. Most of the time the end user shouldn't be able to tell the difference.

Re: Graphing when your Facebook friends are awake

#117

> If you reload the page you’ll see approximately fifty-bajillion network requests go off as Facebook desperately tries to load all the junk that it needs to display facebook.com. I like this part. As a developer I've often looked at the network usage of large websites / web applications and it's always surprising to me just how...unoptimized it is as far as network connections go. I mean Facebook loads decently enou…

> I like this part. As a developer I've often looked at the network usage of large websites / web applications and it's always surprising to me just how...unoptimized it is as far as network connections go. Have you considered that your opinion on the best way to serve data to a billion users might actually be wrong? That maybe Facebook actually knows what they are doing?

Facebook absolutely hammers client-side system resources. Opening a few Facebook tabs, especially in Chrome, will bring a new fancy computer to its knees, and closing Facebook (either the website or the mobile app) famously substantially extends laptop/phone battery life. Facebook’s site architecture demonstrates staggering lack of respect for their users, even without considering the privacy implications.

Not really surprising, from what I’ve heard from friends about their cowboy-style internal engineering culture, and spaghetti piled on spaghetti internal code organization, where shipping new features ASAP is privileged above all other goals.

When you have endless money to throw engineers and servers at a problem, it’s possible to kinda sorta paper over a lot of horrible broken design. Not sure whether that implies anything one way or another about whether or not they “know what they are doing”.

It sort of depends on your definition of “know”. After all, their motto is “move fast and break things.”

Re: Graphing when your Facebook friends are awake

#118

Earlier quoted context omitted.

> Have you considered that your opinion on the best way to serve data to a billion users might actually be wrong? That maybe Facebook actually knows what they are doing? Certainly! But I've also done work where Humvees in the middle of Iraq use satellite internet connectivity with massive latency and the more connections it has to open to get started the slower everything gets. Perhaps this is an advantage where late…

Lets get rid of the notion that Facebook doesn't know what he's doing. He knows exactly what he's doing.

I know it's a light-hearted post, but can we not?

Re: Graphing when your Facebook friends are awake

#119
post #65

> If you reload the page you’ll see approximately fifty-bajillion network requests go off as Facebook desperately tries to load all the junk that it needs to display facebook.com. I like this part. As a developer I've often looked at the network usage of large websites / web applications and it's always surprising to me just how...unoptimized it is as far as network connections go. I mean Facebook loads decently enou…

Progressive rendering and lots of small network requests can be good if the user feels its faster. I suspect their mobile apps are more conservative about using fewer requests (and probably a binary protocol).

The Facebook mobile app on iOS is awful - worse than their mobile website. It takes an age to load, drinks battery life, is massive, doesn't contain the messenger functionality (you need another 60MB app for that).
Post reply on HN