Live data from Hacker News

Reconstructing Twitter's Firehose

docs.google.com

71–80 of 112 posts

Re: Reconstructing Twitter's Firehose

#71
post #12

Earlier quoted context omitted.

I'm wondering if the Wayback Machine has access to it.

I would be extremely interested in getting the Twitter corpus ingested into the Internet Archive. To my knowledge, the Archive does not have access to the firehose.

The Hadoop archive they recently moved to Google is 300PB. Good luck.

Re: Reconstructing Twitter's Firehose

#73

(Using figures cited in the article) Assuming that most of the time only 20 machines are responsible for ID generation, and ~50% of tweets use the first available sequence number for a given millisecond (so half the time machines only process one new tweet per millisecond), can we estimate Twitter's new tweet QPS average to be 20,000? Edit: actually this is an upper bound for the 50% because it assumes that every mac…

That is more or less accurate as an upper bound. You can find public talks from Twitter engineers that specifically highlight their tweet/ps at 3k-7k and this was years ago.

Re: Reconstructing Twitter's Firehose

#75
post #58

If Twitter is already storing the tweet timestamp, is there a reason to generate sequential IDs? It seems like they could move to a UUID scheme and protect their "firehose" from reverse-engineering.

In some databases having a sequential key is valuable (e.g. Cassandra at least used to be like this)

Re: Reconstructing Twitter's Firehose

#76
post #32

Earlier quoted context omitted.

I worked with a company in the past that abused the twitter api to an unimaginable level from a single IP address. That was a few years ago but at the time I’m pretty sure their blacklisting was between inexistent and pathetic.

It’s sad that you think this somehow reflects badly on Twitter. I appreciate a company that will opt to be conservative rather than ban-hammer innocent people on accident just to stop a single idiot.

> It’s sad that you think this somehow reflects badly on Twitter. I appreciate a company that will opt to be conservative rather than ban-hammer innocent people on accident just to stop a single idiot.

Off-topic but reminds me of ~2004 where we had a particularly pervasive cheater in our dedicated game server and the end decision of the admin was to just ban the entire IP range of said cheaters' ISP. Not particularly conservative - very effective.

Re: Reconstructing Twitter's Firehose

#77

That's quite amazing! One thing is that the data center ids are in the tweet ids, so it could be used to get a rough location of Twitter users.

I see there is interest in this observation so I used a little ruby (.to_s(2)[-22..-17].to_i(2)) to get the datacenter id. Then ran it on a few Twitter accounts: https://pastebin.com/w8Dnj5kM It does work, and it's going to be hard to patch edit: I realized you don't only get one location but the whole location history of a Twitter user. Also locating Twitter's data centers as it doesn't seem to be public information

What are you guys even smoking. The ID segment is 5 bits long. You have an extra server ID bit making the datacenter results more significant than they are.

Re: Reconstructing Twitter's Firehose

#78
To store such a firehose stream of data, you will need approximately 0.3gb of storage per one second of data.

This is if you only collect username, timestamp and tweet, excluding any additional metadata such as data center, likes and retweets, not to mention images and videos.

Full calculation here: https://docs.google.com/spreadsheets/d/1BIAguT9Qvy0GK-dalpQf...

Re: Reconstructing Twitter's Firehose

#79
post #62
post #14

Earlier quoted context omitted.

These are hardcoded in the apps. If they disable a key, they would need to release a new version of the app (ok), and all users would need to update (infeasible).

Wouldn't they just enforce the limit with those keys as well?

Sounds like a solid reason to not build around a platform that can arbitrarily kill your project or business. ActivityPub seems to be gaining traction, w/o the beholden to a single entity issue.

Re: Reconstructing Twitter's Firehose

#80
post #56
post #4

>Twitter’s statuses lookup API endpoint allows for a total of 1,200 API calls every 15 minutes. Each call allows the user to pass 100 ids for a total of 120,000 id requests every 15 minutes using both APP auth [...] Use the secret consumer keys from Twitter to bypass these limits: https://gist.github.com/shobotch/5160017

You can do the same for the Reddit API, change the agent header and then you have unlimited API calls.

How would that work, I couldn't find much on the web?
Post reply on HN